string query = "Select MonitorType from Win32_DesktopMonitor";
Task time = new Task(() =>
{
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
{
var devs = searcher.Get();
if (devs != null && devs.Count > 0)
{
foreach (ManagementObject mo in devs)
{
///未插入提示默认监视器
///插入提示屏幕品牌信息
if (mo["MonitorType"].ToString().Equals("默认"))
{
//未插入
}
else
{
//插入
}
// MessageBox.Show(mo["MonitorType"] as string);
// Debug.Print(mo["MonitorType"] as string);
}
}
else
{
//未插入
}
}
Thread.Sleep(_time);
});
time.Start();
EnumDisplayDevices
EnumDisplayDevices功能可让您获取有关系统中显示设备的信息。
BOOL EnumDisplayDevices(
LPCTSTR lpDevice,//设备名称
DWORD iDevNum,//显示设备
PDISPLAY_DEVICE lpDisplayDevice,//设备信息
DWORD dwFlags //保留
);
参数
lpDevice
[in]指向设备名称的指针。如果为NULL,函数将返回基于iDevNum的机器上显示适配器的信息。有关详细信息,请参阅备注。
iDevNum
[in]指定感兴趣的显示设备的索引值。
操作系统用每个显示设备识别索引值。索引值是从0开始的连续整数。例如,如果系统有三个显示设备,则它们由索引值0,1和2指定。
lpDisplayDevice
[out]指向DISPLAY_DEVICE结构的指针,该结构接收由iDevNum指定的显示设备的信息。
在调用EnumDisplayDevices之前,必须将DISPLAY_DEVICE的cb成员初始化为DISPLAY_DEVICE的大小(以字节为单位)。
dwFlags中
此参数当前未使用,应设置为零。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。如果iDevNum大于最大的设备索引,该函数将失败。
备注
要查询系统中的所有显示设备,请在循环中调用此函数,从iDevNum设置为0开始,并增加iDevNum直到函数失败。要选择桌面中的所有显示设备,请仅使用DISPLAY_DEVICE结构中具有DISPLAY_DEVICE_ATTACHED_TO_DESKTOP标志的显示设备。
要获取显示适配器的信息,请将lpDevice的EnumDisplayDevices设置为NULL。例如,DISPLAY_DEVICE.DeviceString包含适配器名称。
要获取显示监视器上的信息,请首先将lpDevice的EnumDisplayDevices设置为NULL。然后调用EnumDisplayDevices,将lpDevice设置为DISPLAY_DEVICE.DeviceName,从第一次调用EnumDisplayDevices,并将iDevNum设置为零。那么DISPLAY_DEVICE.DeviceString是监视器名称。
如果一个适配器有多个显示器,要获取所有这些信息,您必须重复调用EnumDisplayDevices。每次调用该函数时,将lpDevice设置为适配器名称并增加iDevNum。请注意,每个调用监视器信息,DISPLAY_DEVICE.DeviceName会更改,因此必须保存适配器名称。当适配器没有更多显示器时,该功能将失败。
Windows 98 / Me:EnumDisplayDevicesW由Microsoft Layer for Unicode支持。要使用此功能,必须向应用程序添加某些文件,如Windows 95/98 / Me系统上的Microsoft Layer for Unicode所述。
要求
Windows NT / 2000 / XP:包含在Windows 2000及更高版本中。
Windows 95/98 / Me:包含在Windows 98及更高版本中。
标题:在Winuser.h中声明 包括Windows.h。
图书馆:使用User32.lib。
Unicode:在Windows 2000 / XP上实现为Unicode和ANSI版本。还支持Microsoft Layer for Unicode。
也可以看看
设备上下文概述,设备上下文功能,ChangeDisplaySettings,ChangeDisplaySettingsEx,CreateDC,DEVMODE,DISPLAY_DEVICE,EnumDisplaySettings