我已阅读这篇文章,但给出的答案收效甚微。它说
使用 WTSEnumerateSessions 找到合适的桌面
但我得到的只是WTS_SESSION_INFO
结构中的站名。我看到的名称(例如“控制台”、“服务”)与“Winsta0\default”之类的工作站/桌面名称完全不同。答案继续说明
然后 CreateProcessAsUser 在该桌面上启动应用程序(您将桌面句柄作为 STARTUPINFO 结构的一部分传递给它)
我不认为它指的HANDLE
是桌面变量,因为STARTUPINFO
没有成员。我认为它指的是lpDesktop
允许您指定站/桌面名称的成员。使用返回的名称WTSEnumerateSessions
无法启动任何可见的 UI,而“Winsta0\default”可以。
我做错了什么?