社区
进程/线程/DLL
帖子详情
请问AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用?
nbzth25
2003-09-01 07:55:47
请问AFX_MANAGE_STATE(AfxGetStaticModuleState())
的作用是什么?它对DLL中的任何一个函数都是必要的吗?
...全文
101
回复
打赏
收藏
请问AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用?
请问AFX_MANAGE_STATE(AfxGetStaticModuleState()) 的作用是什么?它对DLL中的任何一个函数都是必要的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MFCDllLearn.rar MFC动态库例子
学习调用MFC共享动态库,在调用MFC共享动态库时要进行模块的切换,否则无法少生结果,尽管编绎和运行都没有错。可以用显式调用和隐式调用, 学习共享MFC DLL 的规则 DLL 的模块切换,共有3种方式: 方式一:在 DLL 接口函数中使用使用
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
()) 方式二:在 DLL 接口函数中使用使用
Afx
GetResourceHandle()
Afx
SetResourceHandle(***) 方式三:应用程序自身切换(即在应用程序中调用
Afx
GetResourceHandle(),
Afx
SetRe
DLL游戏注入框架代码
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
(
Afx
Get
Static
Module
State
()); //ňゎ笆篈硈挡畐岿粇 //判断是否按下HOME键 if(wParam == VK_HOME && (lParam&(1<<30)))//(lParam&(1<<30)) 北磅︽Ω ぃ礛㎝秨常穦磅︽ { //如果按下HOME键(不监视键弹起的动作,只监视键按下的动作) //
Afx
MessageBox("为目标进程附加(注入)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) {
Afx
MessageBox("没找到游戏窗口!"); } DWORD Pid; //游戏进程PID Pid = ::GetWindowThreadProcessId(h,NULL); //把DLL挂钩(注入)到目标游戏进程 ::SetWindowsHookEx( WH_KEYBOARD, //KEY表示的是按键。啥时候触发钩子呢?(按键时候触发) &KeyboardProc, //使用DLL里面的具体某个自定义函数(在这里用函数指针即可) ::Get
Module
Handle("Hook_DLL.dll"), //使用具体某个DLL,Get
Module
Handle返回DLL的模块句柄 Pid //PID ); }
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
())
作用
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
())
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
());//用于模块切换时的状态保护, 1.
Afx
Get
Static
Module
State
()指向当前模块状态; 2.当前函数调用结束后原模块的状态自动被恢复; 3.用于DLL中所调用MFC函数、类、资
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
())
以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作得好好的,所以感觉这好像一句废话。 最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多线程搅和在一起的时候,事情就...
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
())的使用
AFX
_
MANAGE
_
STATE
(
Afx
Get
Static
Module
State
())的使用
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章