解决方法
我会在这里试图从关键字中解释你的问题.在将来,请花更多的时间编写你的问题,使他们对另一个试图阅读和理解他们的人有意义.
Windows服务的属性窗口中的“登录”选项卡下有一个复选框,称为“允许服务与桌面交互”.如果要以编程方式检查该框,则在使用CreateService
API创建服务时,需要指定SERVICE_INTERACTIVE_PROCESS标志. (见MSDN).
但是,请注意,从Windows Vista开始,严格禁止服务与用户直接交互:
Important: Services cannot directly interact with a user as of
Windows Vista. Therefore,the
techniques mentioned in the section
titled Using an Interactive Service
should not be used in new code.
这个“特征”是坏的,传统的智慧决定你不应该依靠它.服务不是提供UI或允许任何类型的直接用户交互. Microsoft已经警告说,由于可能的安全风险,Windows NT早期版本就避免了此功能.拉里·奥斯特曼(Larry Osterman)认为为什么是always a bad idea.而他是not the only one.
有一些possible workarounds,但是,如果你绝对必须有这个功能.但是,我强烈要求您仔细考虑其必要性,并为您的服务探索其他设计.