Install4j:将服务图标添加到系统托盘
Install4j: adding a service icon to System tray
我通过 install4j 软件创建了一个安装程序。安装程序创建并添加在后台运行的服务。
我想知道是否可以添加一个系统托盘图标(屏幕右下角)来显示我的服务是 运行。我设法通过在主 class:
中使用以下代码使其工作
final Image image = Toolkit.getDefaultToolkit().getImage(MyClass.class.getClassLoader().getResource("funny-icon.png"));
final TrayIcon icon = new TrayIcon(image, "Device Agent");
if(SystemTray.isSupported())
{
final SystemTray tray = SystemTray.getSystemTray();
icon.setImageAutoSize(true);
try
{
tray.add(icon);
...
上面的代码仅在我通过 IDE 执行时有效,而不是从安装程序创建的 .exe
执行。
关于如何实现这一点有什么想法吗?
不可能这样做,因为服务无法访问 UI。以前的 Windows 版本具有 "interactive service" 的概念,但自 Windows 7.
以来已将其删除
我通过 install4j 软件创建了一个安装程序。安装程序创建并添加在后台运行的服务。
我想知道是否可以添加一个系统托盘图标(屏幕右下角)来显示我的服务是 运行。我设法通过在主 class:
中使用以下代码使其工作 final Image image = Toolkit.getDefaultToolkit().getImage(MyClass.class.getClassLoader().getResource("funny-icon.png"));
final TrayIcon icon = new TrayIcon(image, "Device Agent");
if(SystemTray.isSupported())
{
final SystemTray tray = SystemTray.getSystemTray();
icon.setImageAutoSize(true);
try
{
tray.add(icon);
...
上面的代码仅在我通过 IDE 执行时有效,而不是从安装程序创建的 .exe
执行。
关于如何实现这一点有什么想法吗?
不可能这样做,因为服务无法访问 UI。以前的 Windows 版本具有 "interactive service" 的概念,但自 Windows 7.
以来已将其删除