在VS2003以上版本,在建立工程的时候,就可以添加是否要加载dll文件,但是工程添加后,MFC的dll文件是不好添加的。有关DLL的编程以及加载,一直都没有一个简单的,合适的方案,比如我想往DLL的函数接口中传入参数,我想让DLL中也能拥有界面,比如对话框等。我在这里,经过自己的经验,给大家提出一种快速,简单的DLL开发方案。
DLL分为普通DLL,和MFC拓展DLL,普通DLL可以使用在其他环境中,比如VB,C++ Builder等。MFC拓展DLL是将一个MFC类,或者其他类作为一个输出,导出的是类接口,所以只能用在MFC程序中,所以,从通用性上,我们使用普通DLL类更合适。
首先我们讲怎么加载DLL:
假设我们有一个按钮响应函数OnButton1(),点击按钮后,加载指定目录下的DLL,默认为当前工程路径。
void CDllTest1Dlg::OnButton1()
{
HINSTANCE hInstance;//声明一个实例,用于保存DLL的句柄
hInstance = ::LoadLibrary("PDO_DLL.dll");//加载DLL
if(hIn