本人机器1920*1080 DPI:150%
GetSystemMetrics 取得的值是1280*720
invoke GetSystemMetrics,SM_CXSCREEN ;获取屏幕分辨率
mov resX,eax
invoke GetSystemMetrics,SM_CYSCREEN
mov resY,eax
换GetDeviceCaps可以获得物理分辨率
完整代码如下
; MASM32 project --->console build for print
include \masm32\include\masm32rt.inc
.686
.data
hdc dd 0
.code
;
start:
invoke GetDC,NULL
mov hdc,eax
invoke GetDeviceCaps,hdc,VERTRES
print ustr$(eax)," VERTRES",

在150% DPI设置下,使用GetSystemMetrics获取的分辨率为1280*720,而通过GetDeviceCaps可以得到真实的1920*1080物理分辨率。本文提供了使用Win32汇编获取屏幕物理分辨率的原生解决方案。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



