总结了Windows获取系统分辨率的几种方式,以及修改系统显示比例对每种方式的影响.
假设本机的系统分辨率为1920*1080,测试结果和代码如下:
/*-____________________________________________________________________________________________
|系统比例 | SM_CXSCREEN | SM_CXFULLSCREEN | GetDeviceCaps | QueryDisplayConfig|
________________________|_____________ |_________________|________________ |___________________|
| 100% | 1920 | 1920 | 1920 | 1920 |
________________________|_____________ |_________________|_______________|___________________ |
| 150 | 1280 | 1280 | 1280 | 1920 |
|_______________________|_____________|__________________|________________ |__________________*/
/*
//获取系统整个区域
int x_FullScreen = GetSystemMetrics(SM_CXFULLSCREEN);
//获取除去任务栏的区域
int x_FullScreen = GetSystemMetrics(SM_CXFULLSCREEN);
int x_CAPSScreen = GetDeviceCaps( hdc, HORZRES );
UI
总结了Windows获取系统分辨率的几种方式,以及修改系统显示比例对每种方式的影响.
假设本机的系统分辨率为1920*1080,测试结果和代码如下:
/*-____________________________________________________________________________________________
|系统比例 | SM_CXSCREEN | SM_CXFULLSCREEN | GetDeviceCaps | QueryDisplayConfig|
________________________|_____________ |_________________|________________ |___________________|
| 100% | 1920 | 1920 | 1920 | 1920 |
________________________|_____________ |_________________|_______________|___________________ |
| 150 | 1280 | 1280 | 1280 | 1920 |
|_______________________|_____________|__________________|________________ |__________________*/
/*
//获取系统整个区域
int x_FullScreen = GetSystemMetrics(SM_CXFULLSCREEN);
//获取除去任务栏的区域
int x_FullScreen = GetSystemMetrics(SM_CXFULLSCREEN);
int x_CAPSScreen = GetDeviceCaps( hdc, HORZRES );
UI