描述
EnumDisplaySettings功能检索有关显示设备的其中一种图形模式的信息。要检索显示设备的所有图形模式的信息,请对此函数进行一系列调用。
C++ 语法
BOOL EnumDisplaySettings( __in LPCTSTR lpszDeviceName, __in DWORD iModeNum, __out LPDEVMODE lpDevMode ); |
PowerBASIC 语法
FUNCTION EnumDisplaySettingsA ( _ BYREF lpszDeviceName AS ASCIIZ, _ BYVAL iModeNum AS DWORD, _ BYREF lpDevMode AS DEVMODEA _ ) AS LONG |
Unicode版本:
FUNCTION EnumDisplaySettingsW ( _ BYREF lpszDeviceName AS WSTRINGZ, _ BYVAL iModeNum AS DWORD, _ BYREF lpDevMode AS DEVMODEW _ ) AS LONG |
参数
lpszDeviceName
[in]指向一个以null结束的字符串的指针,指定显示设备关于其功能将获取信息的图形模式。
此参数为NULL或从EnumDisplayDevices返回的DISPLAY_DEVICE.DeviceName.NULL值指定正在运行调用线程的计算机上的当前显示设备。
Windows 95:lpszDeviceName必须为NULL。
iModeNum
[in]指定要检索的信息的类型。该值可以是图形模式索引或以下值之一。
值 |
含义 |
ENUM_CURRENT_SETTINGS |
检索显示设备的当前设置。 |
ENUM_REGISTRY_SETTINGS |
检索当前存储在注册表中的显示设备的设置。 |
图形模式索引从零开始。要获取所有显示设备图形模式的信息,请对EnumDisplaySettings进行一系列呼叫,如下所示:将第一次呼叫设置为iModeNum为零,并为每个后续呼叫将iModeNum增加1。继续调用该函数,直到返回值为零。
当EnumDisplaySettings设置为零时,操作系统将初始化并缓存有关显示设备的信息。当您使用iModeNum设置为非零值调用EnumDisplaySettings时,该函数返回上次调用函数时缓存的信息,iModeNum设置为零。
lpDevMode
[out]指向DEVMODE结构的指针,其中函数存储有关指定图形模式的信息。在调用EnumDisplaySettings之前,将dmSize成员设置为SIZEOF(DEVMODE),并设置dmDriverExtra成员以指示可用于接收私有驱动程序数据的附加空间的大小(以字节为单位)。
EnumDisplaySettings函数设置以下五个DEVMODE成员的值:
· | dmBitsPerPel |
· | dmPelsWidth |
· | dmPelsHeight |
· | dmDisplayFlags |
· | dmDisplayFrequency |
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.
备注
如果iModeNum大于显示设备的最后一个图形模式的索引,该函数将失败。如iModeNum参数的说明中所述,您可以使用此行为枚举所有显示设备的图形模式。
Windows 95/98 / Me:Microsoft Layer for Unicode支持EnumDisplaySettingsW.
引用文件 #INCLUDE Once
WinUser.inc(包括Windows.inc)