绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
1月72021

获取当前系统 的DPI值

作者:绿色风   发布:2021-1-7 4:00 Thursday   分类:UDF(收集)   阅读:3040次   评论:0条  

; enum _PROCESS_DPI_AWARENESS
Global Const $PROCESS_DPI_UNAWARE = 0
Global Const $PROCESS_SYSTEM_DPI_AWARE = 1
Global Const $PROCESS_PER_MONITOR_DPI_AWARE = 2

; enum _MONITOR_DPI_TYPE
Global Const $MDT_EFFECTIVE_DPI = 0
Global Const $MDT_ANGULAR_DPI = 1
Global Const $MDT_RAW_DPI = 2
Global Const $MDT_DEFAULT = $MDT_EFFECTIVE_DPI

;~ 96 - 100%
;~ 120 - 125%

_WinAPI_SetProcessDpiAwareness($PROCESS_PER_MONITOR_DPI_AWARE)

Local $aMonitors = _WinAPI_EnumDisplayMonitors()
If Not IsArray($aMonitors) Then Exit MsgBox(0, "", "EnumDisplayMonitors error")

Local $aDPI, $_fake
For $i = 1 To $aMonitors[0][0]
    $aDPI = _WinAPI_GetDpiForMonitor($aMonitors[$i][0], $MDT_DEFAULT)
    $_fake = IsArray($aDPI) ? MsgBox(0, "Monitor #" & $i, $aDPI[0] & ":" & $aDPI[1]) : MsgBox(0, "Monitor #" & $i, "error")
Next

Exit
Func _WinAPI_SetProcessDpiAwareness($DPIAware)
    DllCall("Shcore.dll", "long", "SetProcessDpiAwareness", "int", $DPIAware)
    If @error Then Return SetError(1, 0, 0)
EndFunc   ;==>_WinAPI_SetProcessDpiAwareness

Func _WinAPI_GetDpiForMonitor($hMonitor, $dpiType)
    Local $X, $Y
    Local $aRet = DllCall("Shcore.dll", "long", "GetDpiForMonitor", "long", $hMonitor, "int", $dpiType, "uint*", $X, "uint*", $Y)
    If @error Or Not IsArray($aRet) Then Return SetError(1, 0, 0)
    Local $aDPI[2] = [$aRet[3], $aRet[4]]
    Return $aDPI
EndFunc   ;==>_WinAPI_GetDpiForMonitor






本文固定链接: http://www.jianyiit.com/post-334.html

blogger
该日志由 绿色风 于2021-1-7 4:00 Thursday发表在 UDF(收集) 分类下。
版权所有:《绿色风's Blog》 → 《获取当前系统 的DPI值》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::Au3返回指定日期的国际标准(ISO)周数. 年度的第几周)
下一篇:密码,密文,记录本,记事本

热门文章

相关文章

  • AU3复制/移动文件的进度条显示方法
  • 屏蔽键盘MOUSE超级UDF
  • AU3的鼠标事件
  • PC版微信图片dat文件,解密还原
  • AU3的强制注册表刷新
取消回复

发表评论

亲,头像对么?

69 + 81 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7221 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap