如何在explorer.exe崩溃后将图标重新添加到系统托盘

时间:2011-10-27 23:31:15

标签: java crash systray

我的java应用程序目前在系统托盘中有一个图标。但是,当系统托盘崩溃时(您可以通过杀死任务栏中的explorer.exe来模拟此情况),系统托盘返回后图标将消失。

当我检查系统托盘中图标的SystemTray.getSystemTray()。getTrayIcons()时,它总是显示我的TrayIcon仍然在系统托盘中,即使它崩溃并重新加载并且我的托盘图标在那里更长

目前我每隔15秒左右移除并添加一次我的图标,但有没有其他方法可以实现这一点,以便它不会一直消失并出现并让用户烦恼?

2 个答案:

答案 0 :(得分:1)

只是一个猜测。

几秒钟内检查一次explorer.exe的pid。如果已更改,请取消注册托盘图标并重新注册。

答案 1 :(得分:0)

以防万一其他人偶然发现并想知道发生了什么,最后我不得不坚持删除并在几秒钟后添加图标,因为Windows不会更新JVM上托盘图标的状态。这当然不是修复它的最佳方法,但似乎没有更好的方法。