当 exe 作为 Windows 服务运行时,我在检索活动监视器的数量时遇到了问题。我尝试使用 EnumDisplayDevices 和 GetSystemMetrics(SM_CMONITROS) 来获取监视器的数量,这两种方法在以控制台模式运行时(意味着由用户启动)会给我正确的监视器数量,但是当我将 exe 注册为服务并通过Windows服务运行它,报告的监视器数量结果是不正确的。
有没有其他方法可以确定作为 Windows 服务运行时活动监视器的数量?或者还有其他解决办法吗?提前致谢!
出于安全原因,不允许服务与用户桌面交互。因此,它们在虚拟桌面中运行,与物理桌面无关。您可以尝试以下操作。在服务管理器的服务列表中。右键单击您的服务,转到属性,然后选择“登录”。您可以在此处更改服务正在使用的帐户。使用“本地系统帐户”,您可以选中“允许服务与桌面交互”。我自己没有尝试过。但为了进行交互,服务必须能够访问“真实”桌面,因此显示器数量应该是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)