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

StackOverflow https://stackoverflow.com/questions/103427

Вопрос

Я пытаюсь создать службу с помощью 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 из вашего управляемого кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top