MFCDLL的生成和调用实例[参照].pdfVIP

  • 1
  • 0
  • 约3.47千字
  • 约 5页
  • 2021-10-19 发布于福建
  • 举报
1.打开 VS2012 ,依次选择文件—新建—项目— MFC DLL ,在下方名称栏中输入工程命名 OneDLL ,在位置栏中选择存放工程文件的路径—确定—点击下一步— DLL 类型: 使用共享 MFC DLL 的规则 DLL —点击完成。 2. 其中我们感兴趣的是 OneDLL.cpp 文件和 OneDLL. def 文件。 OneDLL.cpp 文件是 DLL 的主要的源代码文件,它包含了 COneDLLApp 类的定义; OneDLL.def 文件包含了 DLL 提供的关于 DLL 在 Wind ows 下运行的一些信息, 在这个文件 中定义了一些参数,如 DLL 的名称和属性等,还声明了从 DLL 中输出的函数。 3.添加实现代码,黑色加粗部分为添加的代码。 #include stdafx.h #include OneDLL.h #ifdef _DEBUG #define new DEBUG_NEW #endif int Message(void); BEGIN_MESSAGE_MAP(COneDLLApp, CWinApp) END_MESSAGE_MAP() // COneDLLApp 构造 COneDLLApp::COneDLLApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 } // 唯一的一个 COneDLLApp 对象 COneDLLApp theApp; // COneDLLApp 初始化 BOOL COneDLLApp::InitInstance() { CWinApp::InitInstance(); return TRUE; } int Message(void) { MessageBox(NULL,_T(This is the example of testing DLL.),NULL,MB_OKCANCEL); return 1; } 记得设为为多字节而非 unicode 编码。 修改 .def 文件: OneDLL.def : 声明 DLL 的模块参数。 LIBRARYOneDLL EXPORTSMessage ; 此处可以是显式导出 4.点击生成——生成解决方案, 可以生成相关的 lib 文件和 dll 文件, 在 OneDLL\Debug 进行 查看生成的文件。 5. 新建调用 DLL (OneDLL )的 MFC 工程。 新建一个基于 MFC 框架的单文档工程,并在 TestDLLView.cpp 文件开始处添加 HINSTANCE handlerDLL=NULL; typedef int(* MESSAGE)(void); MESSAGE Message; 然后在菜单中添加 DLL 主菜单、子菜单,如下图所示,以及 View 类下的菜单响应函数。 子菜单 ID 分别为 IDDLLLOAD 和 IDDLLTEST void CTestDLLView::OnDllload() { // TODO: 在此添加命令处理程序代码 if(handlerDLL!=NULL) { MessageBox( _T(The OneDLL.DLL has been loaded.) ); return; } handlerDLL=LoadLibrary( _T(OneDLL.DLL) ); if(handlerDLL==NULL) { MessageBox( _T(Cannot Load t

文档评论(0)

1亿VIP精品文档

相关文档