闲话不说了,这是一种可能有问题的做法:
int cap = GetSystemMetrics(SM_CYCAPTION);
int wid = GetSystemMetrics(SM_CXSCREEN);
int hei = GetSystemMetrics(SM_CYSCREEN);
hWnd = CreateWindow(szWindowClass, szTitle, WS_NONAVDONEBUTTON|WS_VISIBLE|WS_POPUP,
0, cap, wid, hei-cap, NULL, NULL, hInstance, NULL);
这才是比较地道的做法:
RECT rectWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)&rectWorkArea, 0);
hWnd = CreateWindow(szWindowClass, TEXT(""), WS_NONAVDONEBUTTON|WS_VISIBLE|WS_POPUP,
rectWorkArea.left, rectWorkArea.top, rectWorkArea.right-rectWorkArea.left,
rectWorkArea.bottom-rectWorkArea.top, NULL, NULL, hInstance, NULL);
两种创建出来的窗口的高度可能相差几个像素,前一种方法可能导致窗口在创建完之后,有一次莫名其妙的WM_SIZE消息产生,有些东西啊,懂就是懂,不懂就是不懂……想也想不出来。