Install4j:将服务图标添加到系统托盘

时间:2019-05-28 12:21:44

标签: java service icons installer install4j

我通过install4j软件创建了一个安装程序。安装程序会创建并添加一个在后台运行的服务。

我试图确定是否可以添加系统任务栏图标(屏幕的右下角)以显示我的服务正在运行。我设法通过在主类中使用以下代码来使其工作:

            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时有效。

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:1)

不可能这样做,因为服务无法访问UI。 Windows以前的版本具有“交互式服务”的概念,但是自Windows 7起已将其删除。