函数参考


_WinAPI_EnumDisplaySettings

检索显示设备图形模式信息.

#Include <WinAPIEx.au3>
_WinAPI_EnumDisplaySettings ( $sDevice, $iMode )

参数

$sDevice 显示设备.
 空字符串指定正在运行调用进程的当前显示设备
$iMode 信息类型.可以是图形模式索引或以下值之一:
 $ENUM_CURRENT_SETTINGS --- 检索显示设备的当前设置
 $ENUM_REGISTRY_SETTINGS --- 检索显示设备在注册表中的设置
 图形模式索引从 0 开始.
 循环调用 _WinAPI_EnumDisplaySettings() 函数获取显示设备图形模式的所有资料,列举如下:
 首次调用时设置 $iMode 为 0; 后续每次调用 $iMode 增量 1.
 如此循环调用, 直到函数返回值为 0.
 调用本函数并设置 $iMode 为 0 时, 操作系统初始化显示设备有关信息的缓存;
调用本函数并设置 $iMode 为非 0 时,函数返回缓存中上次保存的信息,同时复位 $iMode 为 0.

返回值

成功: 返回以下参数的数组:
[0] - 显示设备可见面宽度的象素值.
[1] - 显示设备可见面高度的象素值.
[2] - 显示设备分辨率的像素值.
[3] - 显示设备特定模式刷新频率的赫兹值(每秒周期).
[4] - 设备的显示模式 ($DM_*).
失败: 返回 0,并设置@error标志为非 0 值.

注意/说明

None

相关

详情参考

在MSDN中搜索


示例/演示


#Include <APIConstants.au3>
#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global $i = 0, $Data

While 1
    $Data = _WinAPI_EnumDisplaySettings('', $i)
    If IsArray($Data) Then
        ConsoleWrite($Data[0] & ' x ' & $Data[1] & ' x ' & $Data[2] & ' bit' & @CR)
    Else
        ExitLoop
    EndIf
    $i += 1
WEnd

$Data = _WinAPI_EnumDisplaySettings('', $ENUM_CURRENT_SETTINGS)
ConsoleWrite('-------------------------------' & @CR)
ConsoleWrite('Current settings: ' & $Data[0] & ' x ' & $Data[1] & ' x ' & $Data[2] & ' bit' & @CR)