标签: system-tray

Java桌面应用程序:如何在热键按下时最大化托盘应用程序?

我需要编写一个程序,当最小化时,它存在于系统托盘中,我将使用Java 6的SystemTray API来实现这一点.

当用户按下某个热键时,如何让该应用程序出现?

例如,应用程序正在运行但已最小化.当用户按下CTRL-SHIFT-Y或其他东西(或者像Google桌面的搜索,CTRL两次)并且应用程序最大化时.

编辑:我知道如何将Java窗口带到前台.我更具体地询问如何使正在运行的Java应用程序监听热键.

java desktop system-tray hotkeys

6
推荐指数
1
解决办法
2196
查看次数

系统通知区域由C++气球?

是否有简单的代码来显示C++的气球通知?
我正在使用Visual Studio 2010.

c++ windows notifications system-tray balloon

6
推荐指数
1
解决办法
6352
查看次数

C++中的系统托盘图标

我有一个用C++编写的基本窗口.我需要做的是每当我点击最小化按钮时,窗口将被放置在系统托盘中,每当我双击图标它将恢复...

c++ winapi system-tray

6
推荐指数
2
解决办法
2万
查看次数

如何在没有在通知区域中添加图标的情况下Shell_NotifyIcon

MSDN关于通知和通知区域的文档非常明确,要求在通知区域中显示一个图标以显示通知:

要显示通知,您必须在通知区域中有一个图标.在某些情况下,例如Microsoft Communicator或电池级别,该图标已经存在.但是,在许多其他情况下,只有在显示通知所需的时间内,您才会向通知区域添加图标.

因为我不希望任何图标添加到通知区域,我想也许是"重用"现有的最有可能是那里的典型桌面.一个好的候选者可能是系统时钟.

我的问题是:

  1. 如何查找/枚举系统时钟的NOTIFYICONDATA结构(恢复时的AKA"日期和时间属性")?
  2. 有没有更好的方法来实现这一点(没有添加图标)?

winapi system-tray systray tooltip

6
推荐指数
1
解决办法
2818
查看次数

如何捕获Window最小化事件?

我想创建一个JFrame实例,然后点击它minimize button,我想隐藏它System Tray通常taskbar是windows的.

我会知道通过使用SystemTray类中的java.awt包我可以这样做,但我既没有得到它的任何教程也没有任何工作程序示例.

我在这里问过这个问题,要么获得SystemTray类的教程网站的链接,要么是否有人知道如何捕获窗口最小化事件,这是一个工作示例.

java swing system-tray

6
推荐指数
2
解决办法
3486
查看次数

以编程方式刷新系统托盘图标

我有一个有系统托盘图标的应用程序.在卸载时,如果它正在运行,我将终止该进程.因此,由于没有优雅地停止应用程序,图标仍保留在系统托盘中,只有当我们将鼠标悬停在系统托盘上时才会删除.我编写了一个代码,可以沿着托盘运行光标并将光标放回其初始位置.这就是我所做的:

        [DllImport("user32.dll")]
        static extern IntPtr FindWindow(string className, string windowName);
        [DllImport("user32.dll")]
        static extern IntPtr FindWindowEx(IntPtr parent, IntPtr child, string className, string windowName);
        [DllImport("user32.dll")]
        static extern bool GetWindowRect(HandleRef handle, out RECT rct);

        [StructLayout(LayoutKind.Sequential)]
        struct RECT
        {
            public int Left;
            public int Top;
            public int Right;
            public int Bottom;
        }

        void RefreshTray()
        {
            IntPtr taskbar_Handle = FindWindow("Shell_Traywnd", "");
            IntPtr tray_Handle = FindWindowEx(taskbar_Handle, IntPtr.Zero, "TrayNotifyWnd", "");

            RECT rct;

            if (!(GetWindowRect(new HandleRef(null, tray_Handle), out rct)))
            {
            }

            System.Drawing.Point init = Control.MousePosition;

            for (int i = …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke trayicon system-tray

6
推荐指数
2
解决办法
1万
查看次数

带有c#控制台应用程序的系统托盘图标将不显示菜单

我有一个小的C#(.NET 4.0)控制台应用程序,我希望用户能够通过右键单击系统托盘图标时显示菜单来进行交互.我可以在没有任何问题的情况下为托盘添加图标,但我无法显示菜单.我正在使用以下代码:

NotifyIcon trayIcon = new NotifyIcon();
trayIcon.Text = "TestApp";
trayIcon.Icon = new Icon(SystemIcons.Application, 40, 40);

ContextMenu trayMenu = new ContextMenu();

trayMenu.MenuItems.Add("Blah", item1_Click);
trayMenu.MenuItems.Add("Blah2", item1_Click);
trayMenu.MenuItems.Add("Blah3", item1_Click);

trayIcon.ContextMenu = trayMenu;
trayIcon.Visible = true;
Run Code Online (Sandbox Code Playgroud)

...将图标放入托盘中.但是,右键单击该图标不会执行任何操作.我尝试了各种排列MenuItems.Add,但没有任何东西会让菜单出现.我确定我错过了一些简单的东西 - 任何想法是什么?

.net c# system-tray

6
推荐指数
2
解决办法
2万
查看次数

使用QSystemTrayIcon为OS X创建单色托盘图标

OS X要求应用程序使用19x19px单色PDF作为托盘图标,以便根据用户的主题调整系统默认颜色.

使用模板图像来表示额外的菜单栏.在常规系统首选项中,用户可以将菜单栏(和Dock)更改为暗色外观.[...]

可以使用QSystemTrayIcon完成吗?

据我所知,底层QIcon类不支持PDF.


目前我正在使用黑色SVG,它以纯黑色显示,造成非常不自然的外观.

默认主题:

SVG默认主题

黑暗主题:

黑暗主题的SVG

macos qt system-tray qt5

6
推荐指数
1
解决办法
851
查看次数

关闭 JFrame 时如何在后台运行应用程序?

我在我的 java 应用程序中使用了系统托盘。我想消失 GUI并在后台运行应用程序,但是当用户单击JFrame 的关闭按钮时,系统托盘必须保持可用。

java swing system-tray jframe

5
推荐指数
1
解决办法
1996
查看次数

任务栏后面的 Windows 10 托盘菜单

我在系统托盘中有一个带有图标的应用程序。
当您右键单击托盘图标时,它会显示一个菜单,用户可以在其中选择操作。
我发现如果我有一个全屏应用程序正在运行,然后使用 alt + esc 进入托盘图标。然后,当我右键单击该图标时,菜单将显示在 Windows 任务栏的后面(下方)。
在某些情况下,菜单太低以至于无法在上下文菜单中选择最低的菜单项。
当它不是前面的全屏应用程序时,菜单会正确显示在任务栏的顶部。我还在 Windows 7 上测试过,它在全屏应用程序中运行良好。
我尝试过不同的全屏应用程序,如 Internet Explorer、Notepad++,但同样的事情发生了。
我还可以看到还有很多其他应用程序,比如“Skype for business”和“Radeon Settings”,它们都在做同样的事情。
Skype for business 在任务栏后面有菜单:在此处输入图片说明

对于内置的 Windows 10 应用程序,这效果更好。
系统托盘的 Windows 时间和语言部分将使用新的 Windows 10 布局(黑色)在任务栏顶部显示菜单
Windows 声音和网络图标将隐藏任务栏,同时显示常规右键单击菜单,但保留开始菜单打开。(不过这看起来有点奇怪)

我已经尝试过 Windows SDK 中的 NotificationIcon 示例,但这也无法正常工作。

所以问题是什么是为 Windows 10 编程显示托盘上下文菜单的正确方法?
我的代码看起来像这样。

case WM_RBUTTONDOWN:
{
    SetForegroundWindow();
    CMenu menu;
    menu.LoadMenu(ID_TRAY_MENU_SHOW_APP);
    CMenu* pPopup = menu.GetSubMenu ( 0 ) ;
    GetCursorPos ( &pt ) ;
    pPopup->TrackPopupMenu ( TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x, pt.y, this );
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

c++ desktop-application contextmenu system-tray windows-10

5
推荐指数
1
解决办法
2007
查看次数