2

在 exe 作为 Windows 服务运行时检索活动监视器的数量时遇到了问题。我尝试使用 EnumDisplayDevices 和 GetSystemMetrics(SM_CMONITROS) 来获取监视器的数量,这两种方法在以控制台模式运行它们时(意味着由用户启动)会给我正确的监视器数量,但是当我将 exe 注册为服务并通过Windows服务运行它,报告的监视器数量结果不正确。

作为 Windows 服务运行时,有没有其他方法可以确定活动监视器的数量?或者其他任何解决方法?提前致谢!

4

1 回答 1

0

出于安全原因,不允许服务与用户桌面交互。因此,它们在与物理桌面无关的虚拟桌面中运行。您可以尝试以下方法。在服务管理器的服务列表中。右键单击您的服务,转到属性,然后转到“登录”。您可以在此处更改服务使用的帐户。使用“本地系统帐户”,您可以选中“允许服务与桌面交互”。我自己没试过。但是为了进行交互,服务必须访问“真实”桌面,因此监视器计数应该是正确的。

于 2013-09-04T15:12:56.030 回答