1、获取任务栏的高度:
CRect rect;
CWnd* pTaskBarWnd = this->FindWindow( "Shell_TrayWnd", NULL );
if( pTaskBarWnd != NULL )
{
pTaskBarWnd->GetWindowRect( &rect );
m_nTaskBarHeight = rect.Height();
}
2、获取系统的边缘高度与宽度,比如QQ贴边掩藏时的露出的边缘长度:
m_nEdgeHeight = GetSystemMetrics( SM_CYEDGE );
m_nEdgeWidth = GetSystemMetrics( SM_CXEDGE );
3、获取当前屏幕的高度与宽度(包含任务栏的高度或宽度):
int nScreenHeight = GetSystemMetrics( SM_CYSCREEN );
int nScreenWidth = GetSystemMetrics( SM_CXSCREEN );
4、获取桌面的客户区区域(不包含任务栏的高度):
CRect rcDesktop;
::SystemParametersInfo( SPI_GETWORKAREA, 0, &rcDesktop, 0 );