请问使用wm_print消息截图的有关问题
请教使用wm_print消息截图的问题
下面的代码利用wm_print消息进行截图,但是返回的总是黑屏,不知道什么原因,请教该如何解决?
代码来源于这片文章:
http://www.fengyuan.com/article/wmprint.html
------解决方案--------------------
楼主打错字了。。。。。应该为WM_PAINT
下面的代码利用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