您的位置:首页 > 其它

EnumDisplayDevices功能可让您获取有关系统中显示设备的信息

2017-08-15 09:50 941 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐