Мой exe-файл отлично работает сам по себе, но ничего не делает при загрузке службой

StackOverflow https://stackoverflow.com/questions/355579

Вопрос

Простой exe-файл для значка в трее, который отлично работает независимо

Я вызываю это с помощью службы Windows, и кажется, что она запускается (в диспетчере задач), но, похоже, она не выполняет никакого кода.т. е. нет значка в трее и т.д.

Это было полезно?

Решение

В Vista и Windows 2008 службы запускаются в сеансе, отличном от пользовательского - любой EXE-файл, который запускает служба, будет запускаться в том же сеансе, что и служба.Перед запуском Vista вам необходимо установить флажок "Разрешить службе взаимодействовать с рабочим столом", в противном случае применяется то же самое.

Это означает, что ваш EXE-файл с иконкой в трее не может взаимодействовать с рабочим столом пользователя.Вам нужно посмотреть на использование CreateProcessAsUser для запуска EXE-файла в правильном сеансе.

Это сообщение в блоге предназначен для людей, использующих развертывание ConfigMgr OS, но содержит хороший список шагов, необходимых для запуска процесса в другом сеансе.Есть несколько неочевидных шагов, которые вам нужно предпринять, иначе что-то странным образом не получится.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top