1.先编写DLL(add.DLL)
CMfcdllApp theApp;
extern "C" __declspec(dllexport) void Show() //创建返回void型的dll函数
...{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CTest test;
test.DoModal ();
}
extern "C" __declspec(dllexport) char* ShowStr() //创建返回char*型的dll函数
...{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
char* str ;
str = _T("showstr");
return str;
}
extern "C" __declspec(dllexport) int ShowInt() //创建返回int型的dll函数
...{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
int k = 1;
return k;
}
2.然后编写MFC对话框程序
在事件里写入:
typedef (WINAPI * TESTDLL)(); //定地dll的使用
HINSTANCE hmod;
hmod = ::LoadLibrary ("mfcdll.dll"); //load dll
if(hmod==NULL)
...{
AfxMessageBox("Fail");
}
TESTDLL lpproc;
lpproc = (TESTDLL)GetProcAddress(hmod,"ShowInt"); //调用dll函数showint
int i;
if(lpproc!=(TESTDLL)NULL)
...{
i = (int)(*lpproc)();
}
lpproc = (TESTDLL)GetProcAddress(hmod, "ShowStr");//调用dll函数showstr
CString str;
if (lpproc != (TESTDLL)NULL )
...{
str = (char*)(*lpproc)();
}
FreeLibrary(hmod);
别忘了把add.DLL文件放到MFC程序里!
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/ice197983/archive/2007/03/21/1536213.aspx