请问AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用?

nbzth25 2003-09-01 07:55:47
请问AFX_MANAGE_STATE(AfxGetStaticModuleState())
的作用是什么?它对DLL中的任何一个函数都是必要的吗?
...全文
101 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
C++注入框架CHook_DLLApp::CHook_DLLApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance } ///////////////////////////////////////////////////////////////////////////// // The one and only CHook_DLLApp object CHook_DLLApp theApp; LRESULT CALLBACK KeyboardProc( int Code, //Hook絏 WPARAM wParam, //店览龄 VK_F1 , VK_F2 , VK_HOME LPARAM lParam //龄絃癟 (lParam&(1<<30)) 北磅︽Ω ぃ礛㎝秨常穦磅︽ ) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); //ňゎ笆篈硈挡畐岿粇 //判断是否按下HOME键 if(wParam == VK_HOME && (lParam&(1<<30)))//(lParam&(1<<30)) 北磅︽Ω ぃ礛㎝秨常穦磅︽ { //如果按下HOME键(不监视键弹起的动作,只监视键按下的动作) //AfxMessageBox("为目标进程附加(注入)DLL文件成功!"); _asm //游戏注入CALL { mov eax,0X004043A0 call eax } } return CallNextHookEx(0,Code,wParam,lParam); } void SetHook() { HWND h =::FindWindow(NULL,"模拟找CALL练习1.0版=梦工厂出品");//怠嘿 if(h==0) { AfxMessageBox("没找到游戏窗口!"); } DWORD Pid; //游戏进程PID Pid = ::GetWindowThreadProcessId(h,NULL); //把DLL挂钩(注入)到目标游戏进程 ::SetWindowsHookEx( WH_KEYBOARD, //KEY表示的是按键。啥时候触发钩子呢?(按键时候触发) &KeyboardProc, //使用DLL里面的具体某个自定义函数(在这里用函数指针即可) ::GetModuleHandle("Hook_DLL.dll"), //使用具体某个DLL,GetModuleHandle返回DLL的模块句柄 Pid //PID ); }

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧