c# - 检测显示器数量

标签 c#

我已经尝试过 Screen.AllScreen、SystemInformation.MonitorCount 和 WMI,但都失败了。

我的应用程序作为 Windows 服务运行,因此没有可视化表单或 UI。即使我有 2 个显示器,Screen.AllScreen 和 SystemInformation.MonitorCount 也会返回 1。如果我在控制台中运行我的应用程序,它会返回正确的显示计数,但我的要求是我的应用程序作为 Windows 服务运行(无 UI)。

谢谢!

最佳答案

找到了我自己问题的答案。 最终仍然使用 WMI。

我最初使用 Win32_DesktopMonitor 给出了一个不可靠的答案。

使用此查询:

"SELECT * FROM Win32_PnPEntity WHERE Service = 'monitor'"

WMI 返回连接到我的 PC 的正确监视器实例。

关于c# - 检测显示器数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20261523/

相关文章:

c# - mono/.Net GC 在收集后将空闲分配的内存释放回操作系统吗?如果不是,为什么?

c# - 当底层匿名类型相似时,如何在Linq中合并两个列表?

c# - 结合 C#.NET 和 VB.NET 的缺点

c# - 正则表达式查询生成器

c# - 使用 c# (Telerik) 在 wpf 中的工具提示或鼠标悬停中显示弹出窗口

C# FlowDocument RichTextBox 对齐不持久

c# - 如何使用lambda表达式启动线程#

c# - 如何关闭线程 'Win32 Thread' (0x1bfc) 的日志已退出,代码为 0 (0x0)?

c# - 为操作设置超时

c# - 如何用C#写一个文本文件