修复内存泄漏缺陷

详见ReadMe.txt
This commit is contained in:
yuanyuanxiang
2019-01-06 21:18:26 +08:00
parent 27fcb6284e
commit a98d69f434
47 changed files with 3410 additions and 1605 deletions

View File

@@ -5,6 +5,7 @@
#include "stdafx.h"
#include "ScreenSpy.h"
#include "Common.h"
#include <stdio.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
@@ -26,11 +27,19 @@ CScreenSpy::CScreenSpy(ULONG ulbiBitCount)
}
m_hDeskTopWnd = GetDesktopWindow();
m_hFullDC = GetDC(m_hDeskTopWnd);
m_hFullDC = GetDC(m_hDeskTopWnd);
m_hFullMemDC = CreateCompatibleDC(m_hFullDC);
m_ulFullWidth = ::GetSystemMetrics(SM_CXSCREEN); //<EFBFBD><EFBFBD>Ļ<EFBFBD>ķֱ<EFBFBD><EFBFBD><EFBFBD>
m_ulFullHeight = ::GetSystemMetrics(SM_CYSCREEN);
m_hFullMemDC = CreateCompatibleDC(m_hFullDC);
//::GetSystemMetrics(SM_CXSCREEN/SM_CYSCREEN)<29><>ȡ<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>׼
//<2F><><EFBFBD><EFBFBD><E7B5B1>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ϊ125%ʱ<><CAB1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>С<EFBFBD><D0A1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>1.25<EFBFBD>Ŷ<EFBFBD>
DEVMODE devmode;
memset(&devmode, 0, sizeof (devmode));
devmode.dmSize = sizeof(DEVMODE);
devmode.dmDriverExtra = 0;
BOOL Isgetdisplay = EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &devmode);
m_ulFullWidth = devmode.dmPelsWidth;
m_ulFullHeight = devmode.dmPelsHeight;
printf("===> <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ʴ<EFBFBD>СΪ<D0A1><CEAA>%d x %d\n", m_ulFullWidth, m_ulFullHeight);
m_BitmapInfor_Full = ConstructBI(m_ulbiBitCount,m_ulFullWidth, m_ulFullHeight);
m_BitmapData_Full = NULL;
m_BitmapHandle = ::CreateDIBSection(m_hFullDC, m_BitmapInfor_Full,