在Windows XP中使用C#在登录屏幕上显示窗口
时间:2020-03-06 14:26:47 来源:igfitidea点击:
我正在尝试使用C创建服务,该服务会启动一个可以在Windows XP"登录"屏幕上显示的进程。
我发现在C ++中正在执行此操作的一些代码。 C ++代码用于服务,该服务使用STARTUPINFO.lpDesktop设置为" WinSta0 \ WinLogon"创建另一个进程。然后,创建的过程将显示在Windows登录屏幕上。我似乎找不到在Cusing System.Diagnostic.Process类中指定新进程的"桌面"的方法。
有谁知道如何用C#做到这一点?
解决方案
我认为我们必须用C ++编写它,将其编译为DLL,然后从托管代码中调用DLL。
解决方案是从Ccode的kernel32.dll调用C ++ Win32 API函数CreateProcess。该站点对于获取C#的正确函数签名非常有帮助:
http://www.pinvoke.net/default.aspx/kernel32/CreateProcess.html