gpt4 book ai didi

c# - 如何使用 WMI 获取所有连接的监视器的监视器信息?

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:35 25 4
gpt4 key购买 nike

我正在构建一个简单的程序,当它运行时它会显示不同的计算机组件。

现在我正试图显示所有插入的显示器。每个显示器的名称和插入计算机的总数量。

当我运行下面的代码时,它只显示一台显示器的名称,即使我连接了三台显示器。谁能告诉我为什么。

public static List<string> GetMonitorNames()
{
ManagementClass mc = new ManagementClass("Win32_DesktopMonitor");
ManagementObjectCollection moc = mc.GetInstances();
var info = new List<string>();
foreach (ManagementObject mo in moc)
{
info.Add(mo["Name"].ToString());
}
return info;
}

最佳答案

您可以使用 WmiMonitorBasicDisplayParams 方法获取所有监视器的实例名称。

举个例子

public static List<string> GetMonitorNames()
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM WmiMonitorBasicDisplayParams");
var info = new List<string>();
foreach (ManagementObject queryObj in searcher.Get()) {
info.Add(queryObj["InstanceName"].ToString());
}
return info;
}

我的机器的示例输出和该对象的可用属性

Active                        : True
DisplayTransferCharacteristic : 120
InstanceName : DISPLAY\HWP3270\4&7563392&0&UID16843008_0
MaxHorizontalImageSize : 52
MaxVerticalImageSize : 32
SupportedDisplayFeatures : WmiMonitorSupportedDisplayFeatures
VideoInputType : 0
PSComputerName :

Active : True
DisplayTransferCharacteristic : 120
InstanceName : DISPLAY\HWP326E\4&7563392&0&UID53349120_0
MaxHorizontalImageSize : 52
MaxVerticalImageSize : 32
SupportedDisplayFeatures : WmiMonitorSupportedDisplayFeatures
VideoInputType : 1
PSComputerName :

关于c# - 如何使用 WMI 获取所有连接的监视器的监视器信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37351963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com