VC中如何使用C++已经编译好的动态连接库啊? 我的发卡器开发包中有wdcrwv.h、wdcrwv.dll、wdcrwv.lib三个文件,头文件我已经定义了,怎么吧动态连接库加到VC中使用啊?我直接将wdcrwv.lib夹道工程中,错误提示说无效文件! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有静态和动态两种,静态的需要lib而动态的只需要一个dll就可以了(但是要知道函数的定义一般是头文件)动态相对复杂一点!但是掌握了也不是很难//第一步 定义函数指针就是你要调用的函数,参数必须一致,不然就内存泄露typedef HANDLE (PASCAL * OPEN)(char *,int);//第二步 定义本地函数//一般前两步都在头文件里面声明OPEN open;//第三步 加载dllHMODULE m_hLib;m_hLib ::LoadLibrary"E:\\yewufuwu\\TERMINALDLL\\Debug\\TerminalDLL.dll");//输入相应的路径if(m_hLib == NULL ){ MessageBox("动态连接库没有找到!!!","LoadLibrary",MB_OK); return ;}//第四步else{ MessageBox("动态连接库成功打开...","LoadLibrary",MB_OK); open=(OPEN)GetProcAddress(m_hLib, "OpenDevice");}//第五步long handle =open("EF",1);动态库下的函数如下//*************打开终端*****************************************HANDLE __declspec(dllexport) WINAPIOpenDevice(char * szType,int nType){ hReader=theTerminal.OpenReader(szType,0); if(hReader==0) return 0; DWORD ThreadID=0; return hReader;} DXUT做了个简单窗体,需要看看的同学可以留下邮箱~~~ 如何获取多块硬盘的分区 请问在vc中要关闭声音用什么api 在工具栏添加combobox控件的问题 完成端口 高手 都来讨论讨论:完成端口如何实现不同客户端之间的信息转发??? SQL语句中怎么使用SQL关键词作为名字 Slider控制当用户改变position位置时,会有什么消息触发? 请教大家 Netbios 的问题 CHtmlView模拟点击报错 关于ComboBox的问题。 在SDI有多个VIEW的程序中,第二个VIEW最好的添加方式是什么? 救命啊~~~~~~~~~~~~~~~~~~~~~~~。。。。
//第一步 定义函数指针就是你要调用的函数,参数必须一致,不然就内存泄露
typedef HANDLE (PASCAL * OPEN)(char *,int);
//第二步 定义本地函数
//一般前两步都在头文件里面声明
OPEN open;
//第三步 加载dll
HMODULE m_hLib;
m_hLib ::LoadLibrary"E:\\yewufuwu\\TERMINALDLL\\Debug\\TerminalDLL.dll");
//输入相应的路径
if(m_hLib == NULL )
{
MessageBox("动态连接库没有找到!!!","LoadLibrary",MB_OK);
return ;
}
//第四步
else
{
MessageBox("动态连接库成功打开...","LoadLibrary",MB_OK);
open=(OPEN)GetProcAddress(m_hLib, "OpenDevice");
}//第五步
long handle =open("EF",1);动态库下的函数如下
//*************打开终端*****************************************
HANDLE __declspec(dllexport) WINAPI
OpenDevice(char * szType,int nType)
{ hReader=theTerminal.OpenReader(szType,0);
if(hReader==0)
return 0;
DWORD ThreadID=0;
return hReader;
}