远程桌面截图内存泄漏的有关问题,

远程桌面截图内存泄漏的问题,在线等..................................
//代码如下   ,实在想不到在哪有内存泄漏.....
//放到时间响应函数里,内存暴涨
HWND   hDeskWnd   =   ::GetDesktopWindow();//获得屏幕的HWND.
HDC   hScreenDC   =   ::GetDC(hDeskWnd);       //获得屏幕的HDC.
HDC   MemDC   =   ::CreateCompatibleDC(hScreenDC);
RECT   rect;  

::GetWindowRect(hDeskWnd,&rect);

HBITMAP   hBitmap   =   ::CreateCompatibleBitmap(hScreenDC,rect.right,rect.bottom);
HGDIOBJ   hOldBMP   =   ::SelectObject(MemDC,hBitmap);
::BitBlt(MemDC,0,0,rect.right,rect.bottom,hScreenDC,rect.left,rect.top,SRCCOPY);
hBitmap=(HBITMAP)::SelectObject(MemDC,hOldBMP);

m_DeskImage.Attach(hBitmap);
IStream*   pStmImage   =   NULL;

HGLOBAL   hMemBmp   =   GlobalAlloc(GMEM_MOVEABLE,0);//可移动的缓冲区
if   (hMemBmp   ==   NULL)   return   NULL;
CreateStreamOnHGlobal(hMemBmp,   FALSE,   &pStmImage);//将内存区B作为流的起始
if   (pStmImage   ==   NULL)

{
GlobalFree(hMemBmp);
MessageBox( "为空 ");
return   NULL;
}
m_DeskImage.Save(pStmImage,Gdiplus::ImageFormatJPEG);

BYTE*   pbyBmp   =   (BYTE   *)GlobalLock(hMemBmp);//得到缓冲区的起始地址

//CFile   mfile( "234.jpg ",CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);
GlobalUnlock(hMemBmp);
//mfile.Write(pbyBmp,GlobalSize(hMemBmp));
//mfile.Close();
int   msize=GlobalSize(hMemBmp);
int   seek=0;
int   sndcount=0;
m_gpackage.ncount=msize;
while   (1)
{
memcpy(m_gpackage.m_buf,pbyBmp+seek,3072);
sndcount=m_clientsock.Send(&m_gpackage,sizeof(package));
seek+=3072;
//TRACE( "%d,seek:%d,size:%d\n ",sndcount,seek,msize);
if(msize-seek <=3072)
{
memcpy(m_gpackage.m_buf,pbyBmp+seek,msize-seek);
sndcount=m_clientsock.Send(&m_gpackage,sizeof(package));
break;
}

}

pStmImage-> Release();
GlobalFree(hMemBmp);
if(m_DeskImage)
{
m_DeskImage.Detach();
m_DeskImage.Destroy();

}
::DeleteObject(hBitmap);

//::ReleaseDC(hDeskWnd,MemDC)
::DeleteObject(MemDC);
::DeleteDC(MemDC);



::ReleaseDC(hDeskWnd,hScreenDC);
::DeleteDC(hScreenDC);

------解决方案--------------------

------解决方案--------------------
嗯。句柄也是会导致泄露的。一定要仔细了。
------解决方案--------------------
这些东西装个Boundchecker就可以很容易找出来的.
------解决方案--------------------
up,纯属jf