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

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

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

有帮助吗?

解决方案

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top