3

現在、Java アプリケーションのシステム トレイにアイコンがあります。ただし、システム トレイがクラッシュすると (タスクバーの explorer.exe を強制終了することでこれをシミュレートできます)、システム トレイが戻った後にアイコンが消えます。

SystemTray.getSystemTray().getTrayIcons() でシステム トレイのアイコンを確認すると、システム トレイがクラッシュしてリロードされ、トレイ アイコンが長くなった後でも、常に TrayIcon がまだシステム トレイにあることが示されます。

現時点では、アイコンを 15 秒ごとに削除および追加していますが、これを実装する他の方法はありますか?

4

2 に答える 2

1

推測です。

数秒に一度、explorer.exe の pid を確認します。変更されている場合は、トレイアイコンの登録を解除し、再度登録してください。

于 2011-10-27T23:48:25.213 に答える
0

他の誰かがこれに出くわして何が起こったのか疑問に思った場合に備えて、Windows はトレイ アイコンのステータスで JVM を更新しないため、最終的には数秒後にアイコンを削除して追加することに固執する必要がありました...当然、それを修正する最善の方法ではありませんが、より良い方法はないようです。

于 2012-03-19T12:17:35.220 に答える