Я работаю над созданием службы Windows и запускаю приложение exe через это,
По этой ссылке я создал службу Windows Служба Windows
Но когда я создаю установку и развертывание, а затем, если я устанавливаю, исполняемый файл, который вызывает служба, запускается как ЛОКАЛЬНАЯ СЛУЖБА.
Тем не менее я могу xxx.exe в диспетчере задач в качестве локальной службы.
Я не могу понять даже с этой помощью: Запуск графического интерфейса из службы Windows
Как я могу запустить этот exe-файл как локальное имя пользователя, в которое я вошел?
У вас есть несколько вариантов создания процесса, который запускается под другим пользователем, нежели родительский процесс:
CreateProcessAsUser
или же CreateProcessWithTokenW
. Для этого необходимо получить основной токен, который представляет пользователя, вызывая либо LogonUser
или же DuplicateTokenEx
,CreateProcessWithLogonW
что позволяет указать имя пользователя и пароль в качестве параметров.Однако, если вы хотите, чтобы создаваемый вами процесс появлялся на интерактивном рабочем столе, вам нужно проделать немало работы. Эта статья охватывает детали: Запуск интерактивного процесса из службы Windows в Windows Vista и более поздних версиях.
Других решений пока нет …