MFC常规DLL的调用过程

简介: 1、单文档工程的创建:   2、找到工程的菜单编辑器中添加菜单项     3、为菜单添加事件处理函数 ...

1、单文档工程的创建:

image



image


 

2、找到工程的菜单编辑器中添加菜单项


image

 

 

3、为菜单添加事件处理函数


image


 

image


在command函数中添加如下代码:


void CMainFrame::OnRegulardll() 
{ 
    char *name = "Kobe"; 
    double wage = 5000; 
    HINSTANCE hDll;              // DLL句柄 
    typedef void (* dllFunc)(char*,double);  // 宏定义ShowWage函数
    dllFunc theFunc;          // 函数指针 
    /* LoadLibrary用来装载DLL  */ 
    hDll = LoadLibrary(_T("..\\RegularMFCDLL.dll")); 
    if(hDll != NULL) 
    { 
        theFunc = (dllFunc)GetProcAddress(hDll,"ShowWage"); 
    } 
    else 
    { 
        AfxMessageBox(TEXT("load DLL fail!")); 
        return ; 
    }
    theFunc(name,wage);//调用导出函数 
    FreeLibrary(hDll); 
}



4、将RegularMFCDll.dll放到工程目录的根目录下,供LoadLibrary函数来装载。


image


5、案例运行效果:

image

 

6、案例代码上传

img_e25d4fb2f8de1caf41a735ec53088516.pngTestRegularDll.zip

相关文章
|
3月前
MFC编写DLL窗口功能代码
MFC编写DLL窗口功能代码
8 0
|
5月前
|
C++
[MFC] 动态链接库的制作过程和使用方法与总结
[MFC] 动态链接库的制作过程和使用方法与总结
42 0
|
Windows
找不到mfc110.dll,无法执行代码
找不到mfc110.dll,无法执行代码
167 0
找不到mfc110.dll,无法执行代码
C++ 编写DLL文件给易语言调用
  摸索了两天了,终于解决了所有问题,在此跟大家分享。   需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def   直接上代码:   头文件如下: 1 #ifndef _DLL_DEMO_H_ 2 #define _DLL_DEMO_H_ 3 #ifdef DL...
2099 0
|
编译器 C# 图形学
Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)
📢前言 🎬通过VC 生成DLL文件 🎥在VS中生成DLL文件 🏳️‍🌈第一步:新建一个dll项目 🏳️‍🌈第二步:新建一个`.h头文件`和`.cpp源文件` 🏳️‍🌈第三步:在`.h头文件`和`.cpp源文件`中编写代码 🏳️‍🌈第四步:生成dll和lib文件 🎥在VS中进行调用DLL文件 🚩第一步:先来新建一个项目 🚩第二步:复制firstDLLTest.dll和firstDLLTest.lib文件和上一个项目的头文件firstDLLTest.h 🚩第三步:在新项目里面添加C++代码 🚩第四步:添加头文件firstDLLTest.h和firstDLLTest.
Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)
|
C# C++
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
397 0
VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)
visual studio编写C#代码时“未能从程序集.....中加载类型”和“找不到方法”的一种可能的解决办法
编译前报错:$exception    {"未能从程序集“XSW.MySQLDAL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型“XSW.MySQLDAL.EnterpriseLibraryProductDAL”。
1699 0