本帖最后由 yann2 于 2010-10-14 17:48:15 编辑

解决方案 »

  1.   

    没看出来,四个GDI对象都清理了,也没有new对象,有点奇怪
      

  2.   

    if(nType == TOOLDEFLATE)
            m_pImageGUI = Image::FromFile(MOUSEPNG);
    if(nType == TOOLMOST)
            m_pImageGUI = Image::FromFile(PAINTPNG);m_pImageGUI可能每次都加载,但没释放HDC hdcTemp = GetDC()->m_hDC;
    GetDC()后会创建一个临时的CDC对象,(虽然MFC会自动清理这些临时对象,但一定时间内还是占用资源)
    要么改成和HDC hdcScreen = ::GetDC (m_hWnd);一样
      

  3.   

    确实是m_pImageGUI的问题谢谢2位
    不过现在我发现该函数在执行非常快的情况下还是有内存泄漏,不过不多我用鼠标点击器设置10毫秒1次。该函数就发生泄漏了这个具体原因我不清楚   等待高手解答
      

  4.   

    这种问题需要细心慢慢查检查一下GDI对象,句柄数量等系统资源有无泄漏