当前位置:  开发笔记 > 编程语言 > 正文

通过网络登录从Windows服务创建GUI

如何解决《通过网络登录从Windows服务创建GUI》经验,为你挑选了1个好方法。

我一直在阅读很多关于从Windows服务执行GUI应用程序的内容.当服务以SYSTEM用户身份运行时(我使用的是Windows XP),"允许服务与桌面交互"复选框对我有用.现在我需要服务作为域(在网络中)中定义的用户运行.一切正常(即使没有用户登录到机器),但未显示GUI(即使登录了相同的网络用户!).我知道GUI正在运行,只是它们被隐藏了.这是为什么?有没有办法在用户登录时显示它们(比如由SYSTEM用户创建并允许与桌面交互!)?如果是这样,如果登录的用户与运行该服务的用户不同,它会起作用吗?


编辑:

@casperOne:我看到了你的解决方案,人们(甚至你)一直在发帖.在我的情况下,我确信我在一个安全的环境中运行,一次只有一个用户将登录到一台机器.简单地取消隐藏GUI是不是可以做任何事情?为什么这适用于用户SYSTEM允许与桌面交互而不与其他用户交互?



1> casperOne..:

您的方法完全错误,在Vista上部署时无法正常工作.

服务应该永远不要假设与桌面进行登录会话以进行交互.

相反,您应该拥有第二个应用程序,该应用程序在用户登录时(或其他某个时间点)运行,并与服务进行通信,然后在接收到来自服务的通知/响应时显示UI元素.

有关详细信息,请参阅此其他问题(和答案):

如何检测是否可以显示窗口?

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有