概述
- 按照设计,MFC 的规则 Dll 具有 MFC 将自动提供一个默认 DllMain 函数。规则 Dll 不应提供自己 DllMain。应在规则 DLL 中的一个 CWinApp 派生类的 InitInstance 成员函数 DLL 加载时需要的任何初始化。取消初始化和终止代码应放在 ExitInstance 成员函数中
重写流程
- 第一步: 找到vs的mfc源码,我的路径如下
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\atlmfc\src\mfc
- 第二步: 拷贝
dllmodul.cpp
到自己的mfc的dll项目中 - 第三步: 添加头文件包含路径
- 项目 – 属性 – VC++目录 – 包含目录 – 新增一个路径到上面的mfc
我的方法是拷贝mfc目录到项目中
配置如下: $(LocalDebuggerWorkingDirectory)mfc
- 项目 – 属性 – VC++目录 – 包含目录 – 新增一个路径到上面的mfc
- 第四步: 注释掉dllmodul.cpp中的AfxCriticalTerm(); // 我没有找到该函数的定义
文章来源地址https://www.toymoban.com/news/detail-524183.html
文章来源:https://www.toymoban.com/news/detail-524183.html
到了这里,关于在mfc的dll中提供自己DllMain的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!