我正在尝试使用C#创建一个可以在Windows XP登录屏幕上显示的进程。
我发现了一些在C ++中执行此操作的代码。 C ++代码用于创建另一个进程,STARTUPINFO.lpDesktop设置为“WinSta0 \ WinLogon”。然后,创建的进程将显示在Windows登录屏幕上。我似乎找不到使用System.Diagnostic.Process类在C#中指定新进程的“桌面”的方法。
有人知道如何用C#做到这一点吗?
答案 0 :(得分:3)
解决方案是从C#代码调用kernel32.dll中的C ++ Win32 API函数CreateProcess。此站点非常有助于为C#获取正确的函数签名:
http://www.pinvoke.net/default.aspx/kernel32/CreateProcess.html
答案 1 :(得分:-1)
我认为您必须使用C ++编写它,将其编译为DLL,然后从托管代码中调用DLL。