获取系统分辨率和任务栏大小

c++

Posted by YiMiTuMi on June 1, 2020

获取系统分辨率

方法1:

//获取系统分辨率
int iWide = 0;
int iHeight = 0; 
iWide = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度 
iHeight = GetSystemMetrics(SM_CYSCREEN); //屏幕高度

方法2:

HDC hDC = ::GetDC(HWND(NULL));    //得到屏幕DC
int x = ::GetDeviceCaps(hDC, HORZRES); //宽
int y = ::GetDeviceCaps(hDC, VERTRES); //高
::ReleaseDC(HWND(NULL), hDC);  //释放HDC

获取任务栏大小

//获取系统分辨率
int iWide = 0;
int iHeight = 0; 
iWide = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度 
iHeight = GetSystemMetrics(SM_CYSCREEN); //屏幕高度

//获得工作区大小
RECT rt;
SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)&rt, 0); 

//任务栏在下面的高度
int iTaskBottomHeight = iHeight - rt.bottom;  

//任务栏在上面的高度
int iTaskTopHeight = rt.top; 

//任务栏在左面的高度
int iTaskLeftHeight = rt.left;

//任务栏在右侧面的高度
int iTaskLeftHeight = iWide - rt.right;  

时钟花 – 爱在你身边