Запуск exe из службы Windows, которая взаимодействует с рабочим столом пользователя - PullRequest
0 голосов
/ 07 октября 2008

Я создал службу Windows в C # и Windows Server 2003. Мне бы хотелось, чтобы моя служба могла запускать exe-файл, который является приложением Windows Forms. Когда я запускаю службу - она ​​запускает другое приложение, но я не вижу его. Когда я открываю диспетчер задач - я вижу, что приложение запущено, но я просто не вижу его. Я установил флажок «Разрешить службе взаимодействовать с рабочим столом», но ничего не происходит. Пожалуйста помоги. Можно ли запускать и запускать изнутри службы Windows и видеть exe, работающий в widnows server 2003?

1 Ответ

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

Отображение пользовательского интерфейса из службы Windows очень проблематично, поскольку служба может работать на другом рабочем столе пользователя (а в Vista / Server 2008 фактически всегда будет работать на другом рабочем столе).

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

Просто запомни:

  1. Возможно, пользователь не вошел в систему
  2. Может быть несколько зарегистрированных пользователей, использующих быстрое переключение пользователей или удаленный рабочий стол
  3. Приложение на рабочем столе пользователя работает в контексте безопасности пользователя, а не в службе
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...