1 HBITMAP GetScreenBmp()
2 {
3 HWND hwnd = ::GetDesktopWindow();
4 HDC hsrc = ::GetDC(hwnd);
5 HDC hmemdc = ::CreateCompatibleDC(hsrc);
6 RECT rc; ::GetWindowRect(hwnd,&rc);
7 SIZE sz;sz.cx=rc.right-rc.left;sz.cy=rc.bottom-rc.top;
8 HBITMAP hbmp = ::CreateCompatibleBitmap(hsrc,sz.cx,sz.cy);
9 HGDIOBJ holdbmp = ::SelectObject(hmemdc,hbmp);
10 ::BitBlt(hmemdc,0,0,sz.cx,sz.cy,hsrc,rc.left,rc.top,SRCCOPY);
11 ::SelectObject(hmemdc,holdbmp);
12 ::DeleteObject(hmemdc);
13 ::ReleaseDC(hwnd,hsrc);
14 return hbmp;
15 }