|
|
发表于 2013-8-21 19:35:10
|
显示全部楼层
LRESULT CALLBACK Gameproc(int nCode,WPARAM wParam, LPARAM lParam)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
PMSG pMsg = (PMSG)lParam;
if(pMsg->message == WM_KEYUP)
{
if(pMsg->wParam == VK_HOME)
{
if(GameDLL == NULL)
{
GameHwnd = pMsg->hwnd;
GameDLL = new CWGDLG();
GameDLL->Create(IDD_DLG_MIAN);
GameDLL->ShowWindow(TRUE);
}
else
{
if(GameDLL->IsWindowVisible())
GameDLL->ShowWindow(FALSE);
else
GameDLL->ShowWindow(TRUE);
}
}
}
return CallNextHookEx(0,nCode,wParam,lParam);
}
void StartHook()
{
static BOOL IsSetwindowsHook=FALSE;
if (IsSetwindowsHook)
{
AfxMessageBox("辅助程序已经注入游戏,请按Home 呼出辅助界面");
return ;
}
AFX_MANAGE_STATE(AfxGetStaticModuleState());
HWND gameh=FindWindow("XAJHElementClient Web Window",NULL);
if (gameh==0)
{
AfxMessageBox("未找到游戏");
return;
}
DWORD tid=::GetWindowThreadProcessId(gameh,NULL);
::SetWindowsHookEx(WH_GETMESSAGE,Gameproc,::GetModuleHandle("GameDll.dll"),tid);
IsSetwindowsHook=TRUE;
} |
|