使用这个,只能拿到一个显示器的内容,而且信息不全
ManagementClass mc10 = new ManagementClass("Win32_DesktopMonitor");
ManagementObjectCollection moc10 = mc10.GetInstances();
使用这个,只能拿到一个显示器的内容,而且信息不全
ManagementClass mc10 = new ManagementClass("Win32_DesktopMonitor");
ManagementObjectCollection moc10 = mc10.GetInstances();
您好,您所说的这个方式我没尝试过,不过如果你想得到系统硬件信息,我非常推荐使用WMI工具来查询系统的详细参数,这个WMI可以得到你想要的几乎所有硬件配置信息,而且可以通过类似于sql语句的查询方式实现,给你一段测试代码吧。
using System;
using System.Management;
public class MonitorInfo
{
public string Manufacturer { get; set; }
public string Model { get; set; }
public string SerialNumber { get; set; }
}
public class Program
{
public static void Main()
{
var monitorInfo = GetPrimaryMonitorInfo();
Console.WriteLine("Manufacturer: " + monitorInfo.Manufacturer);
Console.WriteLine("Model: " + monitorInfo.Model);
Console.WriteLine("Serial Number: " + monitorInfo.SerialNumber);
}
public static MonitorInfo GetPrimaryMonitorInfo()
{
var monitorInfo = new MonitorInfo();
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DesktopMonitor WHERE DeviceID='DesktopMonitor1'");
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject obj in collection)
{
monitorInfo.Manufacturer = obj["MonitorManufacturer"].ToString();
monitorInfo.Model = obj["MonitorModelName"].ToString();
monitorInfo.SerialNumber = obj["SerialNumberID"].ToString();
break;
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
return monitorInfo;
}
}