请问使用wm_print消息截图的有关问题

请教使用wm_print消息截图的问题
下面的代码利用wm_print消息进行截图,但是返回的总是黑屏,不知道什么原因,请教该如何解决?
代码来源于这片文章:
http://www.fengyuan.com/article/wmprint.html

C/C++ code


    HWND hWnd = ::FindWindow("Notepad", NULL);
    HDC hDCMem = ::CreateCompatibleDC(NULL);
    
    RECT rect;
    ::GetWindowRect(hWnd, & rect);
    HBITMAP hBmp = NULL;
    
    {
        HDC hDC = ::GetDC(hWnd);
        hBmp = ::CreateCompatibleBitmap(hDC, rect.right - rect.left, rect.bottom - rect.top);
        ::ReleaseDC(hWnd, hDC);
    }
    
    HGDIOBJ hOld = ::SelectObject(hDCMem, hBmp);
    ::SendMessage(hWnd, WM_PRINT, (WPARAM) hDCMem, PRF_CHILDREN | PRF_CLIENT | PRF_ERASEBKGND | PRF_NONCLIENT | PRF_OWNED);
    
    ::SelectObject(hDCMem, hOld);
    ::DeleteObject(hDCMem);
    
    ::OpenClipboard(hWnd);
    
    ::EmptyClipboard(); 
    ::SetClipboardData(CF_BITMAP, hBmp);
    ::CloseClipboard();




------解决方案--------------------
楼主打错字了。。。。。应该为WM_PAINT