※程序在vs2010编译运行
1.使用vs2010新建mfc动态链接库项目,
2.等待项目创建完成后,在资源管理器界面新添加自定义的对话框资源。
3.设好选项后,创建对话框,然后自行进行相关控件的配置。
4.之后在主界面上【右击】【添加类】,并设好类名。
5.在生成的“类名”.cpp文件中添加控件消息(此处指添加了一个button控件做示范)。
6.添加好控件后,在“类名”.h文件中如下设置好导出函数(这里使用标准C接口导出)。
7.之后在资源管理器中找到.def文件,添加要导出的函数名。*
全部设置好后,生成dll。
8.至此dll工程创建完毕,接下来我们再写一个函数加载该dll测试一下。
新建"测试程序.cpp",并写下如下代码加载DLL:
#include <iostream>
#include<Windows.h>
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加载成功。"<<endl;
dll_Func();
}
else
cout<<"无法找到DLL"<<endl;
FreeLibrary(hmodule); //这里释放DLL。
}
else
cout<<"加载失败!"<<endl;
system("pause");
}
//测试程序.cpp(这里为了方便我就直接用VC++6.0编译了)
9.编译链接好后,将测试程序与dll放到一起,并测试。
Fin