找回密码
 加入
搜索
查看: 5227|回复: 7

[原创] 枚举系统支持的屏幕分辨率,色深,刷新率

  [复制链接]
发表于 2011-2-1 20:43:50 | 显示全部楼层 |阅读模式

;===============================================================================
;
; 函数名称:                _EnumScreenRes()
; 详细信息:                枚举本机支持的屏幕分辨率刷新率.
; 版本:                        1.0.0.1
; 参数:             
; 需求                     AutoIt 测试版 > 3.3.5.0 以上
; 返回值:                返回一个数组,数组元素0为返回的元素数量.
; 论坛:                        
; 作者:                        thesnoW
;
;===============================================================================
Func _EnumScreenRes()
        Local $aRet[1]
        Local $iModeNum=0
        While 1
                Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
                Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", $iModeNum, "ptr", DllStructGetPtr($DEVMODE))
                If @error Then
                        $B = 0
                        ExitLoop
                EndIf
                If $B[0] <> 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[0]=UBound($aRet)-1
        Return $aRet
EndFunc

使用:

$res=_EnumScreenRes()
_ArrayDisplay($res)


如果您使用的版本为SVN版本,如果大于r511,请使用:

#include <ACN_MISC.AU3>
$res=_EnumScreenRes()
_ArrayDisplay($res)
发表于 2011-2-2 07:34:42 | 显示全部楼层
是枚举系统的,不是当前显示器的?
这个不知道有什么用?
发表于 2011-12-20 21:33:21 | 显示全部楼层
不错,记录下,需要时使用
发表于 2014-6-13 14:42:10 | 显示全部楼层
不错,记录下,需要时使用
发表于 2014-6-16 10:03:34 | 显示全部楼层
借来用用看,谢谢先。好用来反馈。
发表于 2014-6-16 10:09:35 | 显示全部楼层
While 1
                Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
                Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", $iModeNum, "ptr", DllStructGetPtr($DEVMODE))
                ConsoleWrite("$B  is"&$B&@CR)
发表于 2014-6-16 10:09:48 | 显示全部楼层
$B  is
$B  is
$B  is
$aRet is >Exit code: 1    Time: 0.471
发表于 2016-12-26 19:50:43 | 显示全部楼层
是枚举显示器的吧?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-3 05:09 , Processed in 0.074331 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表