Отображение окна на экране входа в систему с помощью C # в Windows XP - PullRequest
4 голосов
/ 19 сентября 2008

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

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

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

Ответы [ 2 ]

3 голосов
/ 19 сентября 2008

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

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

0 голосов
/ 19 сентября 2008

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

...