Служба Windows не запускается как локальный сеанс

Я работаю над созданием службы Windows и запускаю приложение exe через это,

По этой ссылке я создал службу Windows Служба Windows

Но когда я создаю установку и развертывание, а затем, если я устанавливаю, исполняемый файл, который вызывает служба, запускается как ЛОКАЛЬНАЯ СЛУЖБА.

Тем не менее я могу xxx.exe в диспетчере задач в качестве локальной службы.

Я не могу понять даже с этой помощью: Запуск графического интерфейса из службы Windows

Как я могу запустить этот exe-файл как локальное имя пользователя, в которое я вошел?

0

Решение

У вас есть несколько вариантов создания процесса, который запускается под другим пользователем, нежели родительский процесс:

  • CreateProcessAsUser или же CreateProcessWithTokenW. Для этого необходимо получить основной токен, который представляет пользователя, вызывая либо LogonUser или же DuplicateTokenEx,
  • CreateProcessWithLogonW что позволяет указать имя пользователя и пароль в качестве параметров.

Однако, если вы хотите, чтобы создаваемый вами процесс появлялся на интерактивном рабочем столе, вам нужно проделать немало работы. Эта статья охватывает детали: Запуск интерактивного процесса из службы Windows в Windows Vista и более поздних версиях.

1

Другие решения

Других решений пока нет …