如何用VC抓取屏幕图象并压缩

发表于:2007-06-17来源:作者:点击数: 标签:

          用下面函数可发实现。
HBITMAP GetScreenBmp()
HWND hwnd = ::GetDesktopWindow();
HDC hsrc = ::GetDC(hwnd);
HDC hmemdc = ::CreateCompatibleDC(hsrc);

RECT rc; ::GetWindowRect(hwnd,&rc);
SIZE sz;sz.cx=rc.right-rc.left;sz.cy=rc.bottom-rc.top;
HBITMAP hbmp = ::CreateCompatibleBitmap(hsrc,sz.cx,sz.cy);
HGDIOBJ holdbmp = ::SelectObject(hmemdc,hbmp);
::BitBlt(hmemdc,0,0,sz.cx,sz.cy,hsrc,rc.left,rc.top,SRCCOPY);
::SelectObject(hmemdc,holdbmp);

::DeleteObject(hmemdc);
::ReleaseDC(hwnd,hsrc);
return hbmp;

原文转自:http://www.ltesting.net