Оповещение всплывающих окон с сервиса в Python - PullRequest
3 голосов
/ 15 октября 2008

Я использую win32api.MessageBox для создания предупреждений, и это работает для приложений, запускаемых из интерактивного приглашения и обычно выполняемого кода, однако, когда я создавал службу Python, когда запускается MessageBox, я слышу звуковой сигнал коробка не отображается. Можно ли отображать оповещения от служб?

1 Ответ

5 голосов
/ 15 октября 2008

Нет, службы Windows работают на совершенно отдельном скрытом рабочем столе и не имеют доступа к рабочему столу вошедшего в систему пользователя. С точки зрения разработчика сервиса этого не избежать.

В предыдущих версиях Windows служба помечалась как «разрешенная для взаимодействия с рабочим столом пользователя», но эта опция была удалена в XP или Vista (я забыл, какая) Теперь службы не могут взаимодействовать с рабочим столом пользователя.

Одним из решений вашей проблемы может быть использование настольного приложения, которое связывается со службой с помощью какого-либо метода IPC. Когда служба хочет предупредить пользователя о каком-либо состоянии, она уведомляет настольное приложение, которое затем отображает обычное окно сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...