找不到mfc110.dll,无法继续执行

找不到mfc110.dll,无法继续执行,第1张

1、通过一定的途径获取到mfc110u.dll文件,例如网上寻找并下载。

2、将mfc110u.dll文件复制到“C:\Windows\System32”这个目录下。返唤

3、点击“开始菜单”,选择“运行”神世薯按钮,输入:regsvr32 mfc110u.dll,点击确定。

4、此时d出安装完成mfc110u.dll文件的提游者示,点击确定。

解决方法步骤如下:

1、迹唤首先哗兆打开计算机,在计算机内单击打开360人工服务。

2、然后在d出的界面内输入乱州租mfc140u.dll并搜索。

3、最后在d出的界面内找到“立即修复”选项并单击即可成功解决mfc140u.dll丢失的问题。

一、dll部分

同过VS向导建立一个MFC dll工程,在工程中创建自己的MFC类,来实现将要展示的界面。新建一个cpp工程,添加头文件#include "StdAfx.h"和界面类的头文件,然后使用下面语句来导出

extern "C" __declspec(dllexport) void ShowDlg(void)

{

AFX_MANAGE_STATE(AfxGetStaticModuleState())

CXXDlg dlg

dlg.DoModal()//实现DLL资源切换的?AFX_MANAGE_STATE(AfxGetStaticModuleState())

}

其胡漏虚中CXXDlg是界面类,必须添加代码AFX_MANAGE_STATE(AfxGetStaticModuleState())

作用:用搜数于模块切换时的状态保护,

1.AfxGetStaticModuleState()指向当前模块状态

2.当前函数调用结束裤燃后原模块的状态自动被恢复;

3.用于DLL中所调用MFC函数、类、资源时的模块状态切换

也就是说,并不是每一个dll的输出函数前都要调用它,只有在要输出对话框等用到资源时要调用!

dll中资源是共享的用了这个函数的防止不同的进程修改资源产生错误!

缺省情况下MFC使用主应用程序的资源句柄来载入资源模板,而DLL中的资源模板是存在于DLL模板中,因此要使用这一语句切换到

二、调用dll

采用如下代码调用dll并显示界面

typedef void (*lpFun)(void)

HINSTANCE hDll

hDll=LoadLibrary(L"XX.dll")

if(NULL==hDll)

{

MessageBox(L"加载失败")

}

lpFun addFun

lpFun pShowDlg=(lpFun)GetProcAddress(hDll,"ShowDlg")

if(pShowDlg==NULL)

{

MessageBox(L"加载失败")

}

pShowDlg()

CloseHandle(hDll)

其中XX.dll为dll的名称


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12164922.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存