我需要在远程桌面启动程序,该程序打开一个窗口并需要用户进行交互,但我的应用程序是一个windows服务。WIndows服务在远程桌面运行桌面程序
我使用的是windows 2008. 我创建了一个成功的应用程序,但启动程序只会话连接鼠标,键盘,但我需要在RDP中启动。
现在我正在使用这些功能。
WTSEnumerateSessions (enum all sessions, here I know if RDP)
WTSQueryUserToken (Get user token)
DuplicateTokenEx (make a primary token)
CreateProcessAsUser (run application with SI.lpDesktop = _T("winsta0\\default"))
但是,这只能运行在控制台连接到键盘,鼠标,显示器,而不是RDP运行应用程序的成功。
无论如何可以帮助我吗? 谢谢。
...挑剔,我知道:但是,拥有特权并使其活跃仍然是两回事。仍然,为好的指针+1。 – 0xC0000022L 2011-05-13 03:15:50
是的。我编辑了答案来澄清这一点。 – 2011-07-13 11:40:47