今天要把一个窗口显示到屏幕的中间,以前貌似做过这个功能,但是已经忘了,于是在网上搜了下,知道了如下三种方式:
方式一:
CRect rect;
::SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
方式二:
int x = ::GetSystemMetrics(SM_CXSCREEN);
int y = ::GetSystemMetrics(SM_CYSCREEN);
方式三:
RECT rc = {0};
::GetClientRect(::GetDesktopWindow(), &rc);
其中方式二和方式三获取的都是整个屏幕的大小(包括了任务栏等)。 方式一获取的是工作区域的大小(除去了任务栏等)。