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