我已阅读此post,但我对给定的答案收效甚微。它说
使用WTSEnumerateSessions找到合适的桌面
但我得到的只是WTS_SESSION_INFO
结构中的电台名称。我看到的名字(例如“console”,“service”)与“Winsta0 \ default”之类的电台/桌面名称完全不同。答案继续进行陈述
然后CreateProcessAsUser在该桌面上启动应用程序(将它作为STARTUPINFO结构的一部分传递给桌面的句柄)
我不认为它指的是桌面的HANDLE
变量,因为STARTUPINFO
没有成员。我认为它指的是lpDesktop
成员,它允许您指定工作站/桌面名称。使用WTSEnumerateSessions
返回的名称无法启动任何可见的UI,而“Winsta0 \ default”则无法启动。
我做错了什么?
答案 0 :(得分:0)
在Windows 7上尝试过WTSEnumerateSessions:我的用户会话(会话1)被命名为“Console”。