2008-10-07 10 views
0

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

ответ

5

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

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

Только помните:

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

Ответы на вопросы. Возможно, добавьте рекомендацию о том, как установить связь между службой и настольным приложением. – Ken 2008-10-07 12:21:32

 Смежные вопросы

  • Нет связанных вопросов^_^