设为首页 加入收藏

TOP

22.3.4 MFC常规DLL的调用
2013-10-07 13:12:17 来源: 作者: 【 】 浏览:74
Tags:22.3.4 MFC 常规 DLL 调用

22.3.4  MFC常规DLL的调用

创建完MFC常规DLL后,就可以在应用程序中调用它了。MFC常规DLL既可以被MFC应用程序调用,也可以被非MFC应用程序调用。调用MFC常规DLL的方式有两种,一种是静态引用,通过加载静态链接库的lib文件实现。一种是动态引用,动态加载DLL后,获取要调用的函数地址,然后执行相应的函数。本节以动态加载的方式演示如何调用MFC常规DLL。代码如下:

  1. void CRegMFCDllTestDlg::OnButtonInvokedll()      
    // 调用DLL  
  2. {  
  3.     typedef void (*pFunction)(void);// 定义函数变量  
  4.     HINSTANCE hLibrary;             // DLL句柄  
  5.     hLibrary = LoadLibrary("RegMFCDLLSample.dll");  
    // 装载DLL  
  6.     if (hLibrary == NULL)   MessageBox("DLL加载
    失败");  // 提示错误信息  
  7.     pFunction pShowDlg = (pFunction)GetProcAddress
    (hLibrary,"ShowDlg");  
  8. // 执行函数  
  9.     if (NULL==pShowDlg) MessageBox("DLL中不存在指
    定的函数"); // 输出提示  
  10.     else pShowDlg();  

上面代码定义了函数指针变量pFunction。调用LoadLibrary()函数装载要执行的DLL,此处是RegMFCDLLSample.dll。如果加载成功,使用GetProcAddress()函数获取要执行的接口函数的地址,如果查找到函数,则执行。程序运行的效果如图22-12所示。

 
图22-12  MFC常规DLL调用实例运行效果图
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇22.3.3 MFC常规DLL的创建实例 下一篇22.3.2 MFC常规DLL的创建

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: