在mfc中如何调用dll中的函数 我先在动态连接库文件中写了实现函数,然后用mfc来调用,应该如何处理,可以把dll的输出函数做到mfc的类里面去吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dll的输出函数在.def中声明,应用程序先包含.h后再将.lib加入Project就可以直接使用DLL中的函数名进行函数调用了. 看看MSDN中以下几个函数的用法吧,对你有帮助的:LoadLibrary(),GetProcAddress(),FreeLibrary()当然还需要定义函数指针。。 有LIB文件的话,你就可以把DLL当静态库一样用,如果没有,就只能动态链接 typedef int (DllFunc *)(int arg);DllFunc dllFunc;HINSTANCE hDll = LoadLibrary("MyDll.dll");dllFunc = (DllFunc)GetProcAddress(hDll, "MyDllFunc");dllFunc(100);FreeLibrary(hDll); 我在win32程序里用过LoadLibrary(),GetProcAddress(),FreeLibrary()现在想在mfc的类里面用,我想问的是能否把dll中的函数载入到类里面,以后使用和类的成员函数一样用 例如: typedef int (CALLBACK *SHUTDOWNDLG) (int);//定义一个dll中的某个函数的类型 void CDlgDlg::OnOK() { CString s; HINSTANCE hInst = LoadLibrary("shell32");//加在dll库文件 SHUTDOWNDLG SHShutDownDialog; if(hInst != 0) { //取得函数地址 SHShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst, (LPSTR)60); (*SHShutDownDialog)(0); FreeLibrary(hInst); } } 可以,如上获取dll中的函数地址,在你的包装类中调用即可 http://expert.csdn.net/Expert/topic/1542/1542739.xml?temp=.1043665 求助:含有ActiveX控件的MFC程序运行问题 用原始套接字编的程序编译时sendto函数出现的(10004)错误 mfc中一个有意思的问题 “高薪诚聘VC++精英”(港资软件公司) 一个怪问题,.cpp为何变成二进制的了? 工业控制用的控件 WaitForSingleObject可以等待变量吗,比如BOOL,INT等 框架视中的线程问题?(在线) 请问如何编程实现在NT下添加用户、设置权限? wisock:谁知道怎么绕过proxy。 大家都来看看是什么原因?聊天的小程序 int 怎樣釋放
直接使用DLL中的函数名进行函数调用了.
LoadLibrary(),GetProcAddress(),FreeLibrary()
当然还需要定义函数指针。。
DllFunc dllFunc;
HINSTANCE hDll = LoadLibrary("MyDll.dll");
dllFunc = (DllFunc)GetProcAddress(hDll, "MyDllFunc");dllFunc(100);FreeLibrary(hDll);
现在想在mfc的类里面用,我想问的是能否把dll中的函数载入到类里面,以后
使用和类的成员函数一样用
SHShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst, (LPSTR)60); (*SHShutDownDialog)(0); FreeLibrary(hInst); } }