枚举系统支持的屏幕分辨率,色深,刷新率
;===============================================================================
;
; 函数名称: _EnumScreenRes()
; 详细信息: 枚举本机支持的屏幕分辨率刷新率.
; 版本: 1.0.0.1
; 参数:
; 需求 AutoIt 测试版 > 3.3.5.0 以上
; 返回值: 返回一个数组,数组元素0为返回的元素数量.
; 论坛:
; 作者: thesnoW
;
;===============================================================================
Func _EnumScreenRes()
Local $aRet
Local $iModeNum=0
While 1
Local $DEVMODE = DllStructCreate("byte;int;byte;int")
Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", $iModeNum, "ptr", DllStructGetPtr($DEVMODE))
If @error Then
$B = 0
ExitLoop
EndIf
If $B <> 0 Then
_ArrayAdd($aRet,DllStructGetData($DEVMODE,4,2) & "X" &DllStructGetData($DEVMODE,4,3) & "X" &DllStructGetData($DEVMODE,4,1) & "@"&DllStructGetData($DEVMODE,4,5))
Else
ExitLoop
EndIf
$iModeNum+=1
WEnd
$aRet=UBound($aRet)-1
Return $aRet
EndFunc
使用:
$res=_EnumScreenRes()
_ArrayDisplay($res)
如果您使用的版本为SVN版本,如果大于r511,请使用:
#include <ACN_MISC.AU3>
$res=_EnumScreenRes()
_ArrayDisplay($res)
是枚举系统的,不是当前显示器的?
这个不知道有什么用? 不错,记录下,需要时使用 不错,记录下,需要时使用 借来用用看,谢谢先。好用来反馈。 While 1
Local $DEVMODE = DllStructCreate("byte;int;byte;int")
Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", $iModeNum, "ptr", DllStructGetPtr($DEVMODE))
ConsoleWrite("$Bis"&$B&@CR) $Bis
$Bis
$Bis
$aRet is >Exit code: 1 Time: 0.471 是枚举显示器的吧?
页:
[1]