VC++MFC 简单的DLL加载动态链接库
2007-03-21 12:44
330 查看
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程序里!
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程序里!
相关文章推荐
- VC++动态链接库编程之MFC扩展 DLL
- VC++动态链接库编程之MFC规则DLL
- VC++动态链接库(DLL)的加载
- 在VC++动态链接库编程之MFC扩展DLL的操作方法
- VC++动态链接库编程之非MFC DLL
- VC++动态链接库编程之MFC DLL
- VC++动态链接库编程之MFC扩展 DLL 2
- VC++动态链接库编程(二)之非MFC DLL
- VC++动态链接库编程之MFC DLL
- VC++动态链接库编程之非MFC DLL
- VC++动态链接库编程之MFC扩展 DLL
- 四. 一个简单的DLL(非MFC动态链接库)
- VC++动态链接库编程之MFC DLL
- VC++动态链接库编程之非MFC DLL
- VC++动态链接库编程(三)之MFC规则DLL
- VC++动态链接库编程之非MFC DLL
- VC++动态链接库编程之非MFC DLL
- VC++动态链接库编程之MFC规则DLL
- VC++动态链接库编程之非MFC DLL
- VC++动态链接库编程之MFC规则DLL