Когда ваше приложение запускается, пока вы не вошли в систему, контекст рабочего стола отсутствует, поэтому ваш код для отображения значка в системном трее по существу «не работает» - сообщения на сайт значка отправляются, но ничего не происходиттам, слушая их, и, конечно, никто не смотрит в любом случае.
Когда вы впоследствии входите в систему и создаете контекст рабочего стола, ваше приложение уже запущено и не имеет возможности узнать (пока), что сейчас естьвидимый рабочий стол для регистрации значка.Когда он запускался, он выполнил регистрацию значков, и, поскольку он обеспокоен тем, что часть работы выполнена.
Итак, вам нужен способ сообщить приложению, что у вас есть рабочий стол и система.Лоток готов к использованию значка, а затем приложение должно повторить процесс регистрации значка.Если вы не хотите отделять основную логику от уровня представления путем создания схемы обслуживания / клиента, вы можете вместо этого поместить свое приложение в группу «Автозагрузка», чтобы оно работало при входе в систему.
Вы не используетеВам не нужно запускать две копии, так что настройте приложение, чтобы проверять наличие других экземпляров, и, если есть, переключить фокус на него и убить себя.Затем в обработчике фокуса отключите, а затем снова включите регистрацию в области значков для повторной отправки этих сообщений.