Sfoglia il codice sorgente

修复GetModulePath等函数问题。

Jeff 3 anni fa
parent
commit
4a190813cf

+ 9 - 6
Source/OGCAssistTool/OGCAssistTool/Global.cpp

@@ -12,6 +12,7 @@ using namespace std;
 
 namespace GLOBAL
 {
+	CIOCPPipe g_IOCP;
 	CONFIG g_config;
 	TCHAR g_szModulePath[MAX_PATH] = _T("");			// Èí¼þĿ¼;
 	TCHAR g_szModuleFileName[MAX_PATH] = _T("");		// Èí¼þÃû³Æ;
@@ -201,19 +202,20 @@ end:
 		if (hSnapshot == NULL)
 			return NULL;
 
+		BOOL bFound = FALSE;
 		me32.dwSize = sizeof(MODULEENTRY32);
-		if (Module32First(hSnapshot, &me32))
-		{
-			do {
-				if (_tcsicmp(lpModuleName, me32.szModule) == 0)
-				{
+		if (Module32First(hSnapshot, &me32)) {
+			do 
+			{
+				if (_tcsicmp(lpModuleName, me32.szModule) == 0) {
+					bFound = TRUE;
 					break;
 				}
 			} while (Module32Next(hSnapshot, &me32));
 		}
 		CloseHandle(hSnapshot);
 
-		return me32.szExePath;
+		return bFound ? me32.szExePath : NULL;
 	}
 
 	HANDLE FindModuleEx(LPCTSTR lpModuleName, DWORD dwProcId)
@@ -1010,6 +1012,7 @@ end:
 
 	BOOL EnumProcessAllWnd(LPPROC_WND_INFO lpProcWndInfo)
 	{
+		lpProcWndInfo->vtWndInfo.clear();
 		return EnumWindows(EnumWindowCallBack, (LPARAM)lpProcWndInfo);
 	}
 

+ 2 - 0
Source/OGCAssistTool/OGCAssistTool/Global.h

@@ -5,6 +5,7 @@
 #include <vector>
 #include <string>
 using namespace std;
+#include "PipeService.h"
 
 #ifdef UNICODE
 typedef wstring TString;
@@ -106,6 +107,7 @@ namespace GLOBAL {
 		}
 	}CONFIG, *LPCONFIG;
 
+	extern CIOCPPipe g_IOCP;
 	extern BOOL g_bHijacted;
 	// ÅäÖÃÐÅÏ¢;
 	extern CONFIG g_config;