1 VOID DrawTestInMem(HDC hDevDc) 2 { 3 int screenWidth = GetDeviceCaps(hDevDc, HORZRES); 4 int screenHeight = GetDeviceCaps(hDevDc, VERTRES); 5 6 HBITMAP hBmpDc = CreateCompatibleBitmap(hDevDc, screenWidth/2, screenHeight); 7 HDC hMemDc = CreateCompatibleDC(hDevDc); 8 SelectObject(hMemDc, hBmpDc); 9 BitBlt(hMemDc, 0, 0, screenWidth / 2, screenHeight, hDevDc, 0, 0, SRCCOPY);10 11 printf("screenWidth = %d, screenHeight = %d\n", screenWidth, screenHeight);12 WCHAR str[MAX_PATH];13 wsprintfW(str, L"screenWidth = %d, screenHeight = %d\n", screenWidth, screenHeight);14 TextOut(hMemDc, 0, 0, str, wcslen(str));15 BitBlt(hDevDc, screenWidth/2+1, 0, screenWidth / 2, screenHeight, hMemDc, 0, 0, SRCCOPY);16 17 }18 19 int APIENTRY wWinMain(_In_ HINSTANCE hInstance,20 _In_opt_ HINSTANCE hPrevInstance,21 _In_ LPWSTR lpCmdLine,22 _In_ int nCmdShow)23 {24 UNREFERENCED_PARAMETER(hPrevInstance);25 UNREFERENCED_PARAMETER(lpCmdLine);26 27 HDC hdc = GetDC(NULL);28 29 DrawTestInMem(hdc);30 }