Articles of 系统托盘

查找并模拟系统托盘图标上的点击?

我需要弄清楚如何以编程方式从一个单独的应用程序的系统托盘图标中find并select一个上下文菜单项。 我想象得到的唯一方法是使用mouse_event()和一些硬编码的x / y值,并将图标设置为始终显示。 除了一般硬编码的黑客使用,这里的问题是假设图标将保留它的位置(这可能会破坏任何其他应用程序加载/卸载)。 我想知道有没有人知道还有什么其他的办法呢?

一种确保系统托盘图标被删除的方法…保证

有没有办法保证您的系统托盘图标被删除? 要添加系统托盘图标,请执行以下操作: Shell_NotifyIcon(NIM_ADD, &m_tnd); 要删除系统托盘图标,请执行以下操作: Shell_NotifyIcon(NIM_DELETE, &m_tnd); 我想知道的是:如果你的应用程序崩溃? 该图标保留在系统托盘中,直到您将鼠标hover为止。 有没有办法保证图标将被删除,即使应用程序崩溃? 我宁愿不使用结构化的exception处理由于各种原因。 我想处理的另一个案例是当这个进程被杀死,但不一定会崩溃。

如何在Java中从System Tray中popupJFrame

我能够用Java创build一个系统托盘应用程序,但是我在定位时遇到了麻烦。 该程序只需要处理一些input/输出,所以我希望它很容易访问。 我的问题是,当我单击我的应用程序的系统托盘图标时,我怎样才能将它的位置放在系统托盘的上方? 要求是这样做,无论显示设置(分辨率,多显示器等)和任务栏的位置。 有没有办法告诉它在托盘附近打开,而不是放在托盘上? 我希望它能够完成Windows中的“networking”设置button。 类似于以下内容: 这在Java中可能吗?

Delphi:最小化应用程序到系统托盘

我想将Delphi应用程序最小化到系统托盘而不是任务栏。 必要的步骤似乎如下: 创build应该显示在系统托盘上的图标。 当用户单击[ – ]以最小化应用程序时,请执行以下操作: 隐藏表单。 将图标(步骤#1)添加到系统托盘。 隐藏/删除任务栏中的应用程序条目。 当用户双击系统托盘中的应用程序图标时,请执行以下操作: 显示表单。 不要再将应用程序最小化,并把它放在前面。 如果“WindowState”是“WS_Minimized”设置为“WS_Normal”。 隐藏/删除系统托盘中的应用程序图标。 当用户终止应用程序时,请执行以下操作: 隐藏/删除系统托盘中的应用程序图标。 而已。 对? 怎么能在Delphi中实现这个? 我发现了下面的代码,但我不知道为什么它的作品。 它不遵循我上面描述的步骤… unit uMinimizeToTray; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ShellApi; const WM_NOTIFYICON = WM_USER+333; type TMinimizeToTray = class(TForm) procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure CMClickIcon(var […]

获取有关Windows7中隐藏的托盘图标的信息

我试图获取有关Windows 7中的系统托盘图标的信息。我只能在“用户推荐的通知区域”ToolBarWindow32中的可见图标上这样做。 但是我怎样才能获得有关隐藏图标的信息?

如何向Windows请求系统托盘图标的大小?

我注意到,我的应用程序发送图标到Windows托盘与16×16像素的大小 – 和我的Vista PC我有一个双倍的任务栏,似乎显示在18×18的图标。 我应用程序图标上的resize的工件看起来很糟糕。 我怎样才能问Windows图标应该是多大? 编辑: 我正在dynamic生成图标,并使用像素字体文本叠加。 看起来很浪费,dynamic地生成一堆图标大小,所以最好避免使用所有“可能的”大小构build一个图标(而不是我甚至不知道它们是什么)。 GetSystemMetrics(SM_CXSMICON)返回16 – 不正确的值。 GetThemeBackgroundContentRect也没有帮助。

java 1.6 SystemTray图标不会出现在Windows启动

我有一个Java 1.6桌面应用程序,从Windows XP上的batch file的javaw开始。 有一个.lnk链接到这个batch file,它被放置到Windows启动文件夹,以便在每个系统启动时启动此应用程序。 应用程序使用SystemTray类来在系统托盘上显示一个图标,以防其正在运行。 手动启动此应用程序没有问题。 如果它是由Windows启动进程启动的,则没有图标显示(甚至没有空白图标),但应用程序正在运行。 启动过程也放慢了。 我怎样才能克服呢? 谢谢!

使用系统托盘图标创build一个后台进程

我试图做一个Windows应用程序,在后台检查一些事情,并通过系统托盘图标通知用户。 该应用程序使用Not managed C ++制作,没有选项切换到.net或Java。 如果用户想要停止应用程序,他将使用托盘图标。 该应用程序不能是一个服务,因为系统侧,因为它必须运行,而无需在用户计算机上安装任何东西(这是一个单一的.exe) 使用典型的Win32程序结构(RegisterClass,WndProc等)我不知道如何放置一些代码来运行窗口消息循环。 也许我必须使用CreateProcess()或CreateThread()? 这是处理multithreading环境的正确方法吗? 如果我必须使用CreateProcess()/ CreateThread(),我怎么可以在两个线程之间交stream? 谢谢 ;)