VC++环境下动态链接库的开发及应用
并添加以下代码:
void CDllDialog::OnButton1() { } // TODO: Add your control notification handler code here MessageBox(\ \在RegularDll.cpp 的最后,添加MFC规则DLL接口函数。
extern \{ AFX_MANAGE_STATE(AfxGetStaticModuleState()) ; }
CDllDialog dllDialog; dllDialog.DoModal();
图 3-3-6 添加MFC规则DLL接口函数
在RegularDll.cpp 的前面,添加 #include \
17
VC++环境下动态链接库的开发及应用
图 3-3-7 添加MFC规则DLL接口函数
完成上述步骤后,就可以编译并生成Dll文件了。
图 3-3-8 添加MFC规则DLL接口函数
3.4. MFC规则DLL的调用
(1)首先,创建一个基于MFC的单文档应用程序“CallRegDll”。
18
VC++环境下动态链接库的开发及应用
图 3-4-1 创建MFC的单文档应用程序CallRegDll
(2)添加一个菜单项“CallRegDll”。
图 3-4-2 添加一个菜单项
(3)在视类对该菜单项添加消息响应函数,函数代码如下: void CCallRegDllView::OnRegdll() {
19
VC++环境下动态链接库的开发及应用
// TODO: Add your command handler code here typedef void (*lpFun)(void);
HINSTANCE hDll=NULL; //DLL句柄 hDll = LoadLibrary(\
if(hDll!=NULL)
{ lpFun pShowDlg = (lpFun)GetProcAddress(hDll,\
if ( pShowDlg!=NULL)
{ pShowDlg(); } else {
MessageBox(\中函数寻找失败\ }
} } else { }
MessageBox(\没有找到相应的dll \
(4)编译并运行程序。点击菜单项,会弹出如下界面:
20