从 Windows 服务执行 GUI 应用程序
为了远程管理和启动应用程序,许多人选择使用 Windows 服务。然而,在 Windows 服务环境中执行向当前登录用户显示图形用户界面 (GUI) 的应用程序会带来挑战。本文深入探讨了该主题,讨论了如何在 C 语言中以编程方式定位当前活动桌面并在其上执行 GUI 应用程序。
Roger Lipscombe 巧妙的答案建议使用 WTSEnumerateSessions 函数来识别目标桌面,然后利用 CreateProcessAsUser 函数在识别的桌面上启动应用程序执行。虽然技术上可行,但我们必须注意:
对传统做法的担忧和偏差:
尽管技术上有效,但这种方法引起了担忧并偏离了传统做法:
推荐解决方案:利用客户端应用程序:
对于更传统的方法,我们建议放置一个为您在全球初创公司中提供服务的紧凑型客户端应用程序的快捷方式。该客户端应用程序随每个用户会话启动,可用于启动所需的应用程序,而无需对用户凭据、会话或桌面进行复杂的操作。
灵活性和标准化:
这种方法提供了更大的灵活性并符合 Windows 应用程序的行业标准部署:
以上是如何在不影响用户体验的情况下从 Windows 服务执行 GUI 应用程序?的详细内容。更多信息请关注PHP中文网其他相关文章!