デスクトップのスクリーンキャプチャを撮る

CImage* CaptureDesktop(CRect area, int bpp = 24)
{
    CImage* image = new CImage();
    if(image->Create(area.Width(), area.Height(), bpp)) {
        HDC hDC = ::GetDC(NULL);
        HDC hImageDC = image->GetDC();
        ::BitBlt(hImageDC, 0, 0, area.Width(), area.Height()
            , hDC, area.left, area.top, SRCCOPY);
        image->ReleaseDC();
        ::ReleaseDC(NULL, hDC);
    }
     else {
        delete image;
        image = NULL;
    }
    return image;    
}

[PR]
by isoq | 2006-08-03 23:33 | C/C++/Win32
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇
<< テスト Windows 2000 では... >>