Как повторно добавить значок в системный трей после сбоя explorer.exe - PullRequest
3 голосов
/ 28 октября 2011

Мое java-приложение в настоящее время имеет значок в системном трее. Однако, когда происходит сбой в системном трее (вы можете смоделировать это, убив explorer.exe на панели задач), значок исчезает после возврата в системный трей.

Когда я проверяю SystemTray.getSystemTray (). GetTrayIcons () для значков в системном трее, он всегда показывает, что мой TrayIcon все еще находится в системном трее, даже после того, как он падает и перезагружается, а мой значок в трее становится длиннее .

В данный момент я удаляю и добавляю свой значок каждые 15 секунд или около того, но есть ли другой способ реализовать это, чтобы он не исчезал и не появлялся и не раздражал пользователя?

Ответы [ 2 ]

1 голос
/ 28 октября 2011

Просто предположение.

Проверяйте pid файла explorer.exe раз в несколько секунд.Если он изменился, отмените регистрацию значка на панели задач и зарегистрируйте его снова.

0 голосов
/ 19 марта 2012

На всякий случай, если кто-нибудь еще наткнется на это и задается вопросом, что произошло, в конце концов мне пришлось придерживаться удаления и добавления значка через несколько секунд, потому что Windows не обновляет JVM в состоянии значков на панели задач. Естественно, это был не лучший способ исправить это, но лучшего способа не было.

...