本文介绍了如何从服务启动WinSta0 \\Winlogon桌面程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 Hi Guys, 我的目标是在用户甚至登录vista系统之前运行程序。这里有几个我已经完成的链接。当用户登录但我的要求不同时,这些代码在我们处理WinSta0 \\default桌面时工作正常。 http://www.codeproject.com/KB/vista-security /VistaSessions.aspx?fid=406624&sort=Position&noise=3&view=Quick&mpp=50&df=1搜索结果,搜索http://www.uvnc.com/vista/ http://www.codeproject.com/KB/vista-security/VistaSessionsC_.aspx 好的步骤---------------- --------------- Hi Guys,My goal is to run a program before user even log on to system in vista. Here are couple of links i have already went through. These codes are working fine when ever we are dealing with WinSta0\\default desktop when user is log on but my requirements are different.http://www.codeproject.com/KB/vista-security/VistaSessions.aspx?fid=406624&sort=Position&noise=3&view=Quick&mpp=50&df=1http://www.uvnc.com/vista/http://www.codeproject.com/KB/vista-security/VistaSessionsC_.aspxSteps that wosks fine------------------------------- 使用获取活动控制台SessionId WTSGetActiveConsoleSessionId 由于我需要在系统帐户下启动应用程序,因此我使用Winlogon中的令牌,因为Winlogon在系统帐户下运行。所以我获取了Winlogon的进程ID并复制了令牌。 然后我确保将startupinfo参数 lpDesktop 发送到 winsta0 \Default ,因为我需要在那里启动我的流程。 然后我使用Winlogon的重复令牌使用 CreateProcessAsUser 将我的流程启动到会话1中。 这就是全部。我做完。 Get the Active Console SessionId using WTSGetActiveConsoleSessionId Since I need to launch the application under a system account, I use the token from Winlogon, since Winlogon runs under the system account. So I obtain the process ID of Winlogon and Duplicate the token. Then I make sure I sent the startupinfo parameter lpDesktop to winsta0\Default since I need to launch my process there. Then I use CreateProcessAsUser with Winlogon's duplicate token to launch my process into session 1. That's all. I am done. 我在Vista上工作,但我想在WinSta0 \\Winlogon桌面上启动一个程序。有人有主意吗?当我将桌面更改为WinSta0 \\Winlogon时,应用程序不会出现在登录屏幕上。但是,当我在XP上运行该程序时,它可以工作。 Vista必须设置不同的Winlogon Desktop权限,我添加了"SeTcbPrivilege"。但那没有好处。另外,如果我查看taskmgr,我看到程序与CreateProcessAsUser一起启动时没有返回任何错误。它似乎工作,只是在WinSta0 \\Winlogon桌面上看不到应用程序。有什么想法吗? 推荐答案 嗨大家好, 还在等待正确答案。我知道这是可能的,因为Real VNC现在正在个人版中进行。 Hi Guys,Still waiting for the right answer. I know this is possible as Real VNC is doing it in there Personal Edition right now. 这篇关于如何从服务启动WinSta0 \\Winlogon桌面程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 10-28 17:37