在Windows XP中使用C#在登录屏幕上显示窗口

时间:2008-09-19 16:24:05

标签: c# windows-xp service desktop winlogon

我正在尝试使用C#创建一个可以在Windows XP登录屏幕上显示的进程。

我发现了一些在C ++中执行此操作的代码。 C ++代码用于创建另一个进程,STARTUPINFO.lpDesktop设置为“WinSta0 \ WinLogon”。然后,创建的进程将显示在Windows登录屏幕上。我似乎找不到使用System.Diagnostic.Process类在C#中指定新进程的“桌面”的方法。

有人知道如何用C#做到这一点吗?

2 个答案:

答案 0 :(得分:3)

解决方案是从C#代码调用kernel32.dll中的C ++ Win32 API函数CreateProcess。此站点非常有助于为C#获取正确的函数签名:

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

答案 1 :(得分:-1)

我认为您必须使用C ++编写它,将其编译为DLL,然后从托管代码中调用DLL。