为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
Smart猫小萌 2019-08-05 15:36:07
允许服务与Windows中的桌面交互在services.msc>操作>属性>登录>允许服务与桌面交互,我启用了我的服务与桌面交互。这究竟是什么意思?如何使用它从我的服务中播放声音(MP3,WAV等)?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

由于该服务不在用户会话的上下文中运行,因此您将创建第二个与该服务交互的应用程序。

例如,Microsoft SQL Server具有监视工具。此应用程序在用户会话中运行并连接到服务,为您提供有关服务是否正在运行以及允许您停止和启动数据库服务的信息。

由于该应用程序确实在用户会话中运行,因此您可以通过该应用程序与桌面交互。


查看完整回答
反对 回复 2019-08-05
?
aluckdog

TA贡献1847条经验 获得超7个赞

我会在这里尝试从关键词解释你的问题。将来,请花更多时间撰写您的问题,以便他们对试图阅读和理解它们的其他人有意义。

Windows服务的“属性”窗口的“登录”选项卡下有一个复选框,名为“允许服务与桌面交互”。如果您尝试以编程方式检查该框,则需要在SERVICE_INTERACTIVE_PROCESS使用CreateServiceAPI 创建服务时指定该标记。(参见MSDN)。

但请注意,从Windows Vista开始,严禁将服务直接与用户交互:

重要说明: 自Windows Vista起,服务无法直接与用户交互。因此,不应在新代码中使用标题为使用交互式服务的部分中提到的技术。

这个“特征”被打破了,传统的智慧决定了你不应该依赖它。服务不是为了提供UI或允许任何类型的直接用户交互。微软一直在警告,自Windows NT早期以来,由于可能存在安全风险,因此可以避免此功能。拉里奥斯特曼争辩说为什么这总是一个坏主意。而且他不是唯一的一个

这里一些可能的 解决方法,但是,如果你绝对必须具有此功能。但我强烈建议您仔细考虑其必要性,并为您的服务探索其他设计。


查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 2509 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信