【图解】C++控制台调用MFC带自定义界面的dll

※程序在vs2010编译运行

1.使用vs2010新建mfc动态链接库项目,
【图解】C++控制台调用MFC带自定义界面的dll_第1张图片
【图解】C++控制台调用MFC带自定义界面的dll_第2张图片

2.等待项目创建完成后,在资源管理器界面新添加自定义的对话框资源。
【图解】C++控制台调用MFC带自定义界面的dll_第3张图片
【图解】C++控制台调用MFC带自定义界面的dll_第4张图片

3.设好选项后,创建对话框,然后自行进行相关控件的配置。
【图解】C++控制台调用MFC带自定义界面的dll_第5张图片

4.之后在主界面上【右击】【添加类】,并设好类名。
【图解】C++控制台调用MFC带自定义界面的dll_第6张图片

5.在生成的“类名”.cpp文件中添加控件消息(此处指添加了一个button控件做示范)。
【图解】C++控制台调用MFC带自定义界面的dll_第7张图片

6.添加好控件后,在“类名”.h文件中如下设置好导出函数(这里使用标准C接口导出)。
【图解】C++控制台调用MFC带自定义界面的dll_第8张图片

7.之后在资源管理器中找到.def文件,添加要导出的函数名。*
【图解】C++控制台调用MFC带自定义界面的dll_第9张图片
全部设置好后,生成dll。
【图解】C++控制台调用MFC带自定义界面的dll_第10张图片

8.至此dll工程创建完毕,接下来我们再写一个函数加载该dll测试一下。
新建"测试程序.cpp",并写下如下代码加载DLL:

#include 
#include
using namespace std;
void main()
{
    typedef void(*FUNA)(void);					//这里对应导出函数的类型与参数。
    HMODULE hmodule = LoadLibrary("testdll");  //需要加载的DLL名称。
    if (hmodule)
    {
        FUNA dll_Func = (FUNA)GetProcAddress(hmodule, TEXT("Func")); //这里写导出函数名。
        if (dll_Func != NULL)
		{
			cout<<"dll加载成功。"<

9.编译链接好后,将测试程序与dll放到一起,并测试。

【图解】C++控制台调用MFC带自定义界面的dll_第11张图片

Fin

你可能感兴趣的:(学习笔记)