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

前端之家收集整理的这篇文章主要介绍了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,但是,如果你绝对必须有这个功能.但是,我强烈要求您仔细考虑其必要性,并为您的服务探索其他设计.

猜你在找的C#相关文章