代码之家  ›  专栏  ›  技术社区  ›  Steven

检测监视器是否在c上#

c#
  •  14
  • Steven  · 技术社区  · 15 年前

    服务提供商

    3 回复  |  直到 7 年前
        1
  •  19
  •   codekaizen    15 年前

    在Vista+中,有 WmiMonitorBasicDisplayParams 类,其中“Active”属性告诉您显示是否处于活动状态。

    下面是一个对我有用的例子:

    using System.Management;
    
    // ...
    
    var query = "select * from WmiMonitorBasicDisplayParams";
    using(var wmiSearcher = new ManagementObjectSearcher("\\root\\wmi", query))
    {
        var results = wmiSearcher.Get();
        foreach (ManagementObject wmiObj in results)
        {
            // get the "Active" property and cast to a boolean, which should 
            // tell us if the display is active. I've interpreted this to mean "on"
            var active = (Boolean)wmiObj["Active"];
        }
    }
    
        2
  •  4
  •   dynamichael    12 年前

        3
  •  -4
  •   astellin    15 年前

    这无法完成:无法检查监视器是否已通电。您可以检查是否启用了辅助监视器:使用 System.Windows.Forms.Screen.AllScreens