检索显示设备图形模式信息.
#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 值. |
在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)