//得到桌面的DC
HDC hdc=GetDC(0);
CDC dc;
dc.Attach(hdc); //生成内存DC
CDC memdc;
memdc.CreateCompatibleDC(&dc); //获得屏幕尺寸
int cx,cy;
cx=GetSystemMetrics(SM_CXFULLSCREEN);
cy=GetSystemMetrics(SM_CYFULLSCREEN); //生成空白位图保存图象
CBitmap bmp;
bmp.CreateCompatibleBitmap(&memdc,cx,cy);CGdiObject* oldbmp=memdc.SelectObject(&bmp);int i,j;
for(i=0;i<cy;i++)
    for(j=0;j<cx;j++)
        memdc.SetPixelV(j,i,dc.GetPixel(j,i));memdc.SelectObject(oldbmp);
memdc.DeleteDC();dc.Detach();//好了,图象已经保存在 bmp 里面了:)