Bläddra i källkod

删除重复无用的函数。

Jeff 4 år sedan
förälder
incheckning
cdfff735bf

+ 3 - 84
GameAssist/GameAssist/Assist.cpp

@@ -162,89 +162,7 @@ namespace GAssist
 		free(old_locale);//还原区域设定;
 	}
 
-	// 根据路径名查找进程,返回进程ID;
-	DWORD FindProcess(IN LPCSTR lpProName)
-	{
-		DWORD dwProcessID = 0;
-		PROCESSENTRY32 pe32 = { 0 };
-
-		HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
-		if (hProcessSnap == NULL)
-		{
-			return 0;
-		}
-		pe32.dwSize = sizeof(PROCESSENTRY32);
-
-		if (Process32First(hProcessSnap, &pe32)) {
-			do {
-				if (_tcscmp(lpProName, pe32.szExeFile) == 0) {
-					dwProcessID = pe32.th32ProcessID;
-					break;
-				}
-			} while (Process32Next(hProcessSnap, &pe32));
-		}
-		CloseHandle(hProcessSnap);
-
-		return dwProcessID;
-	}
-
-	// 注意:一个进程可能拥有多个独立的窗口句柄;
-	HWND GetProMainHwnd(DWORD dwProcessId)
-	{
-		DWORD dwPID = 0;
-		HWND hwndRet = NULL;
-		TCHAR szName[MAX_PATH] = { 0 };
-		TCHAR szClass[MAX_PATH] = { 0 };
-		TCHAR szLogMsg[MAX_PATH] = { 0 };
-		// 取得第一个窗口句柄
-		HWND hwndWindow = ::GetTopWindow(NULL);
-		// 遍历出结果窗口;
-		while (hwndWindow) {
-			dwPID = 0;
-			// 通过窗口句柄取得进程ID
-			DWORD dwTheardID = ::GetWindowThreadProcessId(hwndWindow, &dwPID);
-			if (dwTheardID != 0) {
-				// 判断和参数传入的进程ID是否相等
-				if (dwPID == dwProcessId) {
-					// 进程ID相等,则记录窗口句柄
-					hwndRet = hwndWindow;
-					// 获取窗口类名,标题名;
-					::GetWindowText(hwndRet, szName, sizeof(szName) / sizeof(TCHAR));
-					::GetClassName(hwndRet, szClass, sizeof(szClass) / sizeof(TCHAR)); // 窗口类
-
-					TRACE3(_T("类名:%s 标题:%s 地址%p\n"), szClass, szName, hwndRet);
-
-					// 是否找到目前窗口;
-					if (_tcsstr(szName, _T("大话水浒")))
-						break;
-				}
-			}
-			// 取得下一个窗口句柄
-			hwndWindow = ::GetNextWindow(hwndWindow, GW_HWNDNEXT);
-		}
-
-
-		// 上面取得的窗口,不一定是最上层的窗口,需要通过GetParent获取最顶层窗口
-		HWND hwndWindowParent = NULL;
-		// 循环查找父窗口,以便保证返回的句柄是最顶层的窗口句柄
-		while (hwndRet != NULL) {
-			::GetWindowText(hwndRet, szName, sizeof(szName) / sizeof(TCHAR));
-			::GetClassName(hwndRet, szClass, sizeof(szClass) / sizeof(TCHAR)); // 窗口类
-			//TRACE3(_T("%s %s %s"), szClass, szName, "\n");
-			_stprintf_s(szLogMsg, _T("类名:%s, 窗口名:%s,窗口地址:%p \n"), szClass, szName, hwndRet);
-			OutputDebugString(szLogMsg);
-
-			hwndWindowParent = ::GetParent(hwndRet);
-			if (hwndWindowParent == NULL) {
-				break;
-			}
-			hwndRet = hwndWindowParent;
-		}
-		// 返回窗口句柄
-		return hwndRet;
-	}
-
-
+	// 返回第一个找到的进程ID;
 	DWORD GetProcessId(LPCTSTR lpProcessName /* = _T("Game.exe") */)
 	{
 		DWORD dwProcessId = 0;
@@ -286,6 +204,7 @@ namespace GAssist
 		CloseHandle(hProcessSnap);
 	}
 
+	// 注意:一个进程可能拥有多个独立的窗口,所以要根据窗口名找具体窗口句柄;
 	HWND GetProcessMainWnd(const DWORD& dwTagetProcessId, LPCTSTR lpTagetWndName /* = _T("大话水浒") */)
 	{
 		DWORD dwCurPorcessId = 0;
@@ -464,7 +383,7 @@ namespace GAssist
 		ShellExecute(NULL, "open", GAssist::g_szGameApp, NULL, NULL, SW_SHOWNORMAL);//SW_HIDE无用,因为会自动结;
 		Sleep(1500); // Main.exe设置了陷阱(自己再开启了一个进程,结束上一个进程),需要等1.5秒;
 
-		DWORD dwProcId = GAssist::FindProcess(_T("Main.exe"));
+		DWORD dwProcId = GAssist::GetProcessId(_T("Main.exe"));
 		if (dwProcId <= 0)
 			return;
 

+ 3 - 5
GameAssist/GameAssist/Assist.h

@@ -113,9 +113,9 @@ namespace GAssist
 	{
 		unsigned long       lProcId;				// 进程ID;
 		HWND                hWnd;					// 进程窗口句柄;
-		std::string			strGameRoleName;		// 游戏角色名称;
-		std::string			strGameZoon;
-		std::string			strGameServer;
+		std::string			strGameRoleName;		// 角色名称;
+		std::string			strGameZoon;			// 区域;
+		std::string			strGameServer;			// 服务站
 	}GameWndInfo, * pGameWndInfo;
 	extern std::vector<GameWndInfo> g_vtGameWndInfo;
 
@@ -147,8 +147,6 @@ namespace GAssist
 	extern void Init();
 	extern void GetGameConfig();
 	extern void ShowLog(const TCHAR* format, ...);
-	extern DWORD FindProcess(IN LPCSTR lpProName);
-	extern HWND GetProMainHwnd(DWORD dwProcessId);
 	extern BOOL CALLBACK EnumChildWindowCallBack(HWND hWnd, LPARAM lParam);
 
 	// 根据进程名获取进程pid;

+ 4 - 4
GameAssist/GameAssist/GameAssistDlg.cpp

@@ -1199,8 +1199,8 @@ void CGameAssistDlg::OnBnClickedOpengame()
 {
 #if 1 // »ñÈ¡ÓÎÏ·±êÌâ;
 	DWORD dwPid = GAssist::GetProcessId();
-	HWND hProWnd = GAssist::GetProMainHwnd(dwPid);
-	//HWND hProWnd = GAssist::GetProMainHwnd(5824);
+	HWND hProWnd = GAssist::GetProcessMainWnd(dwPid);
+	//HWND hProWnd = GAssist::GetProcessMainWnd(5824);
 	TCHAR szWinText[MAX_PATH] = { 0 };
 	::GetWindowText(hProWnd, szWinText, MAX_PATH);
 
@@ -1300,7 +1300,7 @@ void CGameAssistDlg::OnBnClickedOpengame()
 
 #endif
 
-	DWORD dwPID = GAssist::FindProcess(_T("Main.exe"));
+	DWORD dwPID = GAssist::GetProcessId(_T("Main.exe"));
 #if 1
 	EnumWindows(GAssist::EnumChildWindowCallBack, dwPID);
 
@@ -1344,7 +1344,7 @@ void CGameAssistDlg::OnBnClickedOpengame()
 			{
 				GAssist::g_vtGameHwnd.clear();
 				EnumWindows(GAssist::EnumChildWindowCallBack, dwPID);
-				HWND hwnd = GAssist::GetProMainHwnd(dwPID);
+				HWND hwnd = GAssist::GetProcessMainWnd(dwPID);
 				if (hwnd)
 				{
 					TCHAR szName[MAX_PATH] = { 0 };