EnumDisplayDevicesW 函数 (winuser.h)
EnumDisplayDevices 函数可用于获取有关当前会话中显示设备的信息。
语法
BOOL EnumDisplayDevicesW(
[in] LPCWSTR lpDevice,
[in] DWORD iDevNum,
[out] PDISPLAY_DEVICEW lpDisplayDevice,
[in] DWORD dwFlags
);
参数
[in] lpDevice
指向设备名称的指针。 如果 为 NULL,则函数根据 iDevNum 返回计算机上) (显示适配器的信息。
有关详细信息,请参阅“备注”。
[in] iDevNum
一个索引值,该值指定感兴趣的显示设备。
操作系统使用索引值标识当前会话中的每个显示设备。 索引值是连续整数,从 0 开始。 例如,如果当前会话有三个显示设备,则它们由索引值 0、1 和 2 指定。
[out] lpDisplayDevice
指向 DISPLAY_DEVICE 结构的指针,该结构接收有关 iDevNum 指定的显示设备的信息。
在调用 EnumDisplayDevices 之前,必须将 DISPLAY_DEVICE 的 cb 成员初始化为 DISPLAY_DEVICE 的大小(以字节为单位)。
[in] dwFlags
将此标志设置为 EDD_GET_DEVICE_INTERFACE_NAME (0x00000001) 以检索GUID_DEVINTERFACE_MONITOR的设备接口名称,该名称由操作系统在每个监视器的基础上注册。 该值放置在 lpDisplayDevice 中返回的 DISPLAY_DEVICE 结构的 DeviceID 成员中。 生成的设备接口名称可与 SetupAPI 函数 一起使用,并充当 GDI 监视设备和 SetupAPI 监视设备之间的链接。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 如果 iDevNum 大于最大设备索引,则函数失败。
注解
若要查询当前会话中的所有显示设备,请在循环中调用此函数,从 iDevNum 设置为 0 开始,并递增 iDevNum ,直到函数失败。 若要选择桌面中的所有显示设备,请仅使用在DISPLAY_DEVICE结构中具有DISPLAY_DEVICE_ATTACHED_TO_DESKTOP标志 的 显示设备。
若要获取有关显示适配器的信息,请调用 EnumDisplayDevices ,并将 lpDevice 设置为 NULL。 例如, DISPLAY_DEVICE。DeviceString 包含适配器名称。
若要获取有关显示监视器的信息,请首先调用 EnumDisplayDevices ,将 lpDevice 设置为 NULL。 然后调用 EnumDisplayDevices ,将 lpDevice 设置为 DISPLAY_DEVICE。DeviceName 从第一次调用 EnumDisplayDevices ,并将 iDevNum 设置为零。 然后 DISPLAY_DEVICE。DeviceString 是监视器名称。
若要查询与适配器关联的所有监视器设备,请在循环中调用 EnumDisplayDevices ,其中 lpDevice 设置为适配器名称, iDevNum 设置为从 0 开始, iDevNum 设置为递增,直到函数失败。 请注意, DISPLAY_DEVICE。每次 调用监视器信息时,DeviceName 都会更改,因此必须保存适配器名称。 当适配器没有更多监视器时,函数将失败。
注意
winuser.h 标头将 EnumDisplayDevices 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | Windows 10版本 10.0.14393 中引入的 ext-ms-win-ntuser-sysparams-ext-l1-1-1 () |