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.csdn.net/ice197983/archive/2007/03/21/1536213.aspx