【问题标题】:Launching a GUI application from Windows service从 Windows 服务启动 GUI 应用程序
【发布时间】:2013-11-04 02:10:03
【问题描述】:

我已阅读此post,但给出的答案收效甚微。它说

使用 WTSEnumerateSessions 找到合适的桌面

但我得到的只是WTS_SESSION_INFO 结构中的站名。我看到的名称(例如“控制台”、“服务”)与“Winsta0\default”之类的工作站/桌面名称完全不同。答案继续陈述

然后 CreateProcessAsUser 在该桌面上启动应用程序(您将桌面句柄作为 STARTUPINFO 结构的一部分传递给它)

我不认为它指的是桌面的HANDLE 变量,因为STARTUPINFO 没有成员。我认为它指的是lpDesktop 成员,它允许您指定站/桌面名称。使用 WTSEnumerateSessions 返回的名称无法启动任何可见的 UI,而“Winsta0\default”可以。

我做错了什么?

【问题讨论】:

  • 如果我的回答对您有帮助,请告诉我。

标签: windows winapi service createprocess launching-application


【解决方案1】:

刚刚在 Windows 7 上尝试了 WTSEnumerateSessions:我的用户会话(会话 1)被命名为“控制台”。

【讨论】:

  • 感谢您的确认。
猜你喜欢
  • 2020-09-06
  • 2011-05-22
  • 2010-11-09
  • 2011-04-04
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多