是否有无论如何使用WMI/.Net来获取显示器信息,如制造商,序列号,显示器大小等?使用.NET/WMI获取PC的显示器信息
使用脚本也是一个选项,或者我可以直接查询注册表以获取此信息?
SELECT * FROM Win32_DesktopMonitor
在这种情况下并不真的为我返回任何有用的信息。
是否有无论如何使用WMI/.Net来获取显示器信息,如制造商,序列号,显示器大小等?使用.NET/WMI获取PC的显示器信息
使用脚本也是一个选项,或者我可以直接查询注册表以获取此信息?
SELECT * FROM Win32_DesktopMonitor
在这种情况下并不真的为我返回任何有用的信息。
该选择查询应该给你你想要的。 Here是包含查询详细信息的文档。
然后,你可以做这样的事情:
public void GetMonitorDetails()
{
using(ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DesktopMonitor")
{
foreach(ManagementObject currentObj in searcher.Get())
{
String name = currentObj("Name").ToString();
String device_id = currentObj("DeviceID").ToString();
// ...
}
}
}
这就是我列出的问题,不工作的查询:)! – mint 2010-08-13 13:23:17
@snow - 查看更新,让我知道如果有帮助 – SwDevMan81 2010-08-13 13:29:11
它并没有给我很多我想要的信息(序列号,监视器大小,它说显示器制造商,但它的价值是:
嘿,我用这个工具,我的很多WMI工作,原型设计和创造的POC尤其是当....
此工具,用于创建快速的控制台应用程序代码是伟大的在C#和VB.NET中任何wmi查询或方法调用
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DesktopMonitor");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_DesktopMonitor instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("Description: {0}", queryObj["Description"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
上面的代码将为您带来显示器的品牌和型号。
This post,结合以下有关WMI管理工具的答案,我的答案是。这是返回您的显示器分辨率的代码。
try {
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM WmiMonitorBasicDisplayParams");
foreach (ManagementObject queryObj in searcher.Get()) {
Debug.WriteLine("-----------------------------------");
Debug.WriteLine("WmiMonitorBasicDisplayParams instance");
Debug.WriteLine("-----------------------------------");
Debug.WriteLine("Description: {0}", queryObj["SupportedDisplayFeatures"]);
}
} catch (ManagementException e) {
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
在我的情况下,我仍然卡住,因为它返回每个显示器的“缩小”分辨率。其中一个是4K显示器,报告为2560x1440。
请编辑链接内容的摘要,以便其他人可以享受你的答案,如果链接被破坏 – 2015-11-08 17:20:40
@TamirVered ...和第一个链接看起来破碎。 – LarsTech 2016-05-20 17:19:59