如何在MFC应用程序中调用DLL
怎么在MFC应用程序中调用DLL
现在手中有一个DLL文件:vodplayer.dll
和一些接口说明:http://www.powercom.net.cn/bbs/dispbbs.asp?boardID=5&ID=1585&page=1
现在我要在我的MFC应用程序中调用这个DLL使用其功能,没有库函数要怎么调用?
求高手指点??用COM接口??COM接口怎么使用??
求助!!!!!
------解决方案--------------------
首先看这个dll是否为控件,即,可以用regsvr32先注册一下
------解决方案--------------------
oleviewer可以看到接口函数
------解决方案--------------------
CoCreateInstance()调用COM接口
------解决方案--------------------
是COM吧
参考资料:http://blog.vckbase.com/teacheryang/archive/2005/07/18/9759.html
该网页上可下载示例看。
------解决方案--------------------
直接#import "xxx.dll"
然后在需要用的地方:
void Demo()
{
IXXXPtr sp;
sp.CreateInstance();
// 再调用接口函数就行了
sp->xxx();
}
------解决方案--------------------
既然是控件就很简单了,先将它加载到控件栏中,然后像普通控件一样,拖出一个出来,然后添加一个关联变量,相关的头文件会自动生成的。你用这个控件变量调用相关的函数就行了。
------解决方案--------------------
------解决方案--------------------
比如接口是IVODPLAYER那么可以用IVODPLAYERPtr类型的智能指针。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
可以用函数库么。。
HINSTANCE hInst;
hInst=LoadLibrary("Dll2.dll");
typedef int (*ADDPROC)(int a,int b);
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");
if(!Add)
{
MessageBox("获取失败");
return;
}
CString str;
str.Format("3+2=%d",Add(3,2));
MessageBox(str);
当然要自己写个。def
顺便说下,这个是即用即掉那种的,不用可以卸载。减少资源占用。
LIBRARY Dll2 ()
EXPORTS
add
sub
------解决方案--------------------
现在手中有一个DLL文件:vodplayer.dll
和一些接口说明:http://www.powercom.net.cn/bbs/dispbbs.asp?boardID=5&ID=1585&page=1
现在我要在我的MFC应用程序中调用这个DLL使用其功能,没有库函数要怎么调用?
求高手指点??用COM接口??COM接口怎么使用??
求助!!!!!
------解决方案--------------------
首先看这个dll是否为控件,即,可以用regsvr32先注册一下
------解决方案--------------------
oleviewer可以看到接口函数
------解决方案--------------------
CoCreateInstance()调用COM接口
------解决方案--------------------
是COM吧
参考资料:http://blog.vckbase.com/teacheryang/archive/2005/07/18/9759.html
该网页上可下载示例看。
------解决方案--------------------
直接#import "xxx.dll"
然后在需要用的地方:
void Demo()
{
IXXXPtr sp;
sp.CreateInstance();
// 再调用接口函数就行了
sp->xxx();
}
------解决方案--------------------
既然是控件就很简单了,先将它加载到控件栏中,然后像普通控件一样,拖出一个出来,然后添加一个关联变量,相关的头文件会自动生成的。你用这个控件变量调用相关的函数就行了。
------解决方案--------------------
------解决方案--------------------
比如接口是IVODPLAYER那么可以用IVODPLAYERPtr类型的智能指针。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
可以用函数库么。。
HINSTANCE hInst;
hInst=LoadLibrary("Dll2.dll");
typedef int (*ADDPROC)(int a,int b);
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");
if(!Add)
{
MessageBox("获取失败");
return;
}
CString str;
str.Format("3+2=%d",Add(3,2));
MessageBox(str);
当然要自己写个。def
顺便说下,这个是即用即掉那种的,不用可以卸载。减少资源占用。
LIBRARY Dll2 ()
EXPORTS
add
sub
------解决方案--------------------