Re: Unable to capture Desktop Continously
ScreenDC.Detach(); //this line detaches the HDC and ScreenDC no longer
hold the HDC
ScreenDC.DeleteDC(); //therefore these lines don't do anything
ReleaseDC(&ScreenDC);
you should call the SDK ReleaseDC
::ReleaseDC(NULL,ScreenDC.Detach());
So get rid of those three lines and replace it with the one above.
AliR.
"Mohit" <behappy.mohit@gmail.com> wrote in message
news:87a15a17-2124-4d4e-b720-306a9020646e@13g2000prl.googlegroups.com...
Hi,
Thanks for sugesstion .Using ReleaseDC and DeleteDC i am getting same
problem
CDC ScreenDC;
CBitmap Capture;
if(ScreenDC.Attach(::GetDC(NULL)))
{
CSize Dimensions(GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics
(SM_CYSCREEN));
Capture.CreateCompatibleBitmap(&ScreenDC, Dimensions.cx,
Dimensions.cy);//)
CDC MemDC;
//ScreenDC.StretchBlt(0, 0, 800,600, &ScreenDC, 0, 0,GetSystemMetrics
(SM_CXSCREEN) ,GetSystemMetrics(SM_CYSCREEN),SRCCOPY);
MemDC.CreateCompatibleDC(&ScreenDC);
MemDC.SelectObject(&Capture);
MemDC.BitBlt(0, 0, Dimensions.cx,Dimensions.cy, &ScreenDC, 0, 0,
SRCCOPY);
MemDC.DeleteDC();
ReleaseDC(&MemDC);
CImage m2;
m2.Attach(Capture);
//m2.Save(fd.GetPathName());
m2.Save(_T("Image1.gif"),Gdiplus::ImageFormatGIF);//ImageFormatJPEG
//m2.Detach();
m2.ReleaseDC()
}
ScreenDC.Detach();
ScreenDC.DeleteDC();
ReleaseDC(&ScreenDC);