微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 允许服务与Windows中的桌面交互

在services.msc>动作>属性>登录>允许服务与桌面交互,我启用了我的服务与桌面交互.这是什么意思呢?如何使用它从我的服务播放声音(MP3,WAV等)?

services.msc ></p> Action > Properties > Log On > Allow service to interact with desktop

解决方法

我会在这里试图从关键字中解释你的问题.在将来,请花更多的时间编写你的问题,使他们对另一个试图阅读和理解他们的人有意义.

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,但是,如果你绝对必须有这个功能.但是,我强烈要求您仔细考虑其必要性,并为您的服务探索其他设计.

原文地址:https://www.jb51.cc/csharp/94150.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐