[Dll]Get HWnd By Pid For MapleStory - 用於Dll檢測是否注入正確等等

把以下Code放在要使用的檔案中

BOOL CALLBACK MyEnumProc(HWND hwnd, LPARAM lParam)
{
DWORD tempPID;
char tempClassName[255] = {0};
char MyClassName[255] = "MapleStoryClass";
GetWindowThreadProcessId(hwnd, &tempPID);
GetClassName(hwnd, tempClassName, 255);
if(MyPID != tempPID)
{
return 1;
}
if(strcmp(MyClassName,tempClassName))
{
return 1;
}
MShwnd = hwnd;
return 0;
}

同個檔案中的調用:

EnumWindows((WNDENUMPROC)MyEnumProc,0);


請新增全域變數:HWND MShwnd;

給楓之谷外掛DLL使用的。
原理:
透過WinAPI:EnumWindows列舉出所有有Hwnd的東西,
先判斷ClassName是否為楓之谷的遊戲視窗(WinAPI:GetClassName)
在判斷PID是否為自己(因為是DLL注入進去,所以PID一致)

留言

本月最夯

偷用電腦,怎知?事件檢視器全記錄!(開機時間、啟動項時間...)