Отображение окна на экране входа в систему с помощью C# в Windows XP
Я пытаюсь создать службу с C#, которая запускает процесс, который может отображаться на экране входа в Windows XP.
Я нашел код, который делает это на C++. Код C++ предназначен для службы, которая создает другой процесс с STARTUPINFO.lpDesktop, для которого установлено значение "WinSta0\WinLogon". Затем созданный процесс отображается на экране входа в Windows. Я не могу найти способ указать "рабочий стол" нового процесса в C# с помощью класса System.Diagnostic.Process.
Кто-нибудь знает, как это сделать с C#?
2 ответа
Решением было вызвать функцию C++ Win32 API CreateProcess из kernel32.dll из кода C#. Этот сайт был очень полезен для получения правильной сигнатуры функции для C#:
http://www.pinvoke.net/default.aspx/kernel32/CreateProcess.html
Я думаю, что вам придется написать это на C++, скомпилировать это в DLL и затем вызвать DLL из вашего управляемого кода.