Отображение окна на экране входа в систему с использованием C # в Windows XP

Я пытаюсь создать службу с C #, которая запускает процесс, который может отображаться на экране входа в Windows XP.

Я нашел код, который делает это на C ++. Код C ++ предназначен для службы, которая создает другой процесс с STARTUPINFO.lpDesktop, установленным на «WinSta0 \ WinLogon». Созданный процесс затем отображается на экране входа в Windows. Кажется, я не могу найти способ указать «рабочий стол» нового процесса на C # с помощью класса System.Diagnostic.Process.

Кто-нибудь знает, как это сделать с C #?


person Andrew Garrison    schedule 19.09.2008    source источник
comment
Не могли бы вы поделиться своим кодом XP?   -  person richardaum    schedule 18.05.2015


Ответы (2)


Решением было вызвать функцию C ++ Win32 API CreateProcess из kernel32.dll из кода C #. Этот сайт очень помог в получении правильной сигнатуры функции для C #:

http://www.pinvoke.net/default.aspx/kernel32/CreateProcess.html

person Andrew Garrison    schedule 19.09.2008

Я думаю, вам придется написать его на C ++, скомпилировать его в DLL, а затем вызвать DLL из вашего управляемого кода.

person James    schedule 19.09.2008