代码如下,但不知为什么得出的图象是黑白的。
void CCopyScreenView::OnGetscreen() 
{
// TODO: Add your command handler code here
CDC MemDc,ScrDc;
int cx=GetSystemMetrics(SM_CXSCREEN);
int cy=GetSystemMetrics(SM_CYSCREEN);
ScrDc.CreateDC("display",NULL,NULL,NULL); 
MemDc.CreateCompatibleDC(&ScrDc); 
//CBitmap ScrBmp;
ScrBmp.Detach();
ScrBmp.CreateCompatibleBitmap(&MemDc,cx,cy); 
CBitmap *pOldBmp=MemDc.SelectObject(&ScrBmp); 
MemDc.BitBlt(0,0,cx,cy,&ScrDc,0,0,SRCCOPY); 
MemDc.SelectObject(pOldBmp);
//CClientDC pdc(this);
//OnDraw(&pdc);
Invalidate();
}void CCopyScreenView::OnDraw(CDC* pDC)
{
CCopyScreenDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRect rect;
GetClientRect(&rect);
CDC MemDc;
MemDc.CreateCompatibleDC(pDC);
         CBitmap *pOld=MemDc.SelectObject(&ScrBmp);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDc,0,0,SRCCOPY);
}