| 
 | 
 本帖最后由 527104427 于 2018-1-8 00:54 编辑  
 
方法一: 
 
// 检索显示设备上下文环境的句柄 
CALL $--ret:&hdc user32.dll,GetDC,#0 
 
// 当前系统DPI_X 大小 一般为96 
CALL $--ret:&LOGPIXELSX Gdi32.dll,GetDeviceCaps,#%hdc%,#88 
 
// 当前系统DPI_Y 大小 一般为96 
CALL $--ret:&LOGPIXELSY Gdi32.dll,GetDeviceCaps,#%hdc%,#90 
 
// 获取屏幕分辨率当前物理大小 
CALL $--ret:&HORZRES Gdi32.dll,GetDeviceCaps,#%hdc%,#8   //宽 
CALL $--ret:&VERTRES Gdi32.dll,GetDeviceCaps,#%hdc%,#10  //高 
 
// 获取真实设置的桌面分辨率大小 
CALL $--ret:&DESKTOPHORZRES Gdi32.dll,GetDeviceCaps,#%hdc%,#118   //宽 
CALL $--ret:&DESKTOPVERTRES Gdi32.dll,GetDeviceCaps,#%hdc%,#117   //高 
 
// 获取宽度缩放百分比 
IFEX $%&LOGPIXELSX%=96, CALC &ScaleX=round(%&DESKTOPHORZRES%/%&HORZRES%*100)! CALC &ScaleX=round(%&LOGPIXELSX%/96*100) 
 
// 获取高度缩放百分比 
IFEX $%&LOGPIXELSY%=96, CALC &ScaleY=round(%&DESKTOPVERTRES%/%&VERTRES%*100)! CALC &ScaleY=round(%&LOGPIXELSY%/96*100) 
 
//如果DPI为96,且缩放百分比不是100%,则重新计算DPI 
IFEX $[ %&LOGPIXELSX%=96 & %&ScaleX%<>100 ], CALC &LOGPIXELSX=round(%&DESKTOPHORZRES%/%&HORZRES%*96) 
IFEX $[ %&LOGPIXELSY%=96 & %&ScaleY%<>100 ], CALC &LOGPIXELSY=round(%&DESKTOPVERTRES%/%&VERTRES%*96) 
 
 
MESS 水平方向DPI:[%&LOGPIXELSX%]    缩放百分比:[%&ScaleX%%%]             垂直方向DPI:[%&LOGPIXELSY%]    缩放百分比:[%&ScaleY%%%] 
 
 
 
 
 
 
 
 
方法二: 
 
CALL $--ret:&DPI_Aware user32.dll,SetProcessDPIAware       // 设置DPI-aware,用于感知 DPI 
CALL $--ret:&hdc user32.dll,GetDC,#0 
CALL $--ret:&LOGPIXELSX Gdi32.dll,GetDeviceCaps,#%hdc%,#88 
CALC &ScaleX=round(%&LOGPIXELSX%/96*100) 
MESS DPI:[%&LOGPIXELSX%]    缩放百分比:[%&ScaleX%%%]  
 
不谢 
 
 
 
 
 
 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |