无法访问显示组件 - 从 Windows 服务调用
Posted
技术标签:
【中文标题】无法访问显示组件 - 从 Windows 服务调用【英文标题】:Cannot access display component - Calling from Windows service 【发布时间】:2016-12-01 12:24:29 【问题描述】:我正在使用“nssm”运行服务。 nssm 服务启动一个调用 exe 的应用程序。该exe应该截取屏幕截图。当应用程序作为独立运行时由应用程序调用时,exe 工作正常。但是当应用程序作为服务运行时被应用程序调用时,exe无法访问显示(不起作用)。
附:我已经使用 C、C++、Python、GoLang 尝试了屏幕截图 exe
【问题讨论】:
【参考方案1】:Windows 服务(我假设您说的是 Windows)用于后台处理,没有附加 UI。因此,无论您使用哪种语言,恐怕它都行不通。
【讨论】:
【参考方案2】:AFAIK,它是设计的:默认情况下服务无法访问显示。您必须进入控制面板/管理员。工具/计算机管理/服务。然后在服务的属性中,选项卡连接中有复选框允许桌面交互。必须勾选以允许服务访问显示,默认不勾选。
注意:名字可能会有点不对劲,因为我的机器不会说英语...
【讨论】:
我尝试了“允许桌面交互”,但也不起作用。因为exe是需要桌面交互的,而不是调用应用程序。以上是关于无法访问显示组件 - 从 Windows 服务调用的主要内容,如果未能解决你的问题,请参考以下文章
Angular:为组件字段提供对服务功能的引用并从模板调用它无法按预期工作