利用别人的SDK做二次开发是很不舒服的事情,你不知道别人里面函数是怎么实现的,

如果给你的手册中函数定义错误了,你就使劲地折腾吧,一个下午就在猜测函数原型里度过了。今天下午多亏陈师兄帮忙,

算是连接上RFID阅读器的端口了。在显示加载DLL时,如果利用导出函数序号访问,最好在DOS下用DUMPBIN命令看下

ORIGINAL的序号,这样比较靠谱,晚上随便下的DLL函数查看器毕竟是别人写的,还是不靠谱。如果最后运行不成功

的话,就仔细看SDK的手册,大胆猜测函数原型吧,导出函数的入口地址也很重要,在调试中可以查看它的变量,是否是想

要的导出函数地址。WINDOWS编程还是要了解的,毕竟中国政府和大多数人都在用WINDOWS,做应用还是以广大人民群众为

标准的,WINDOWS讨厌的地方就是也时候不知道错误错在哪,毫无头绪,非常抓狂,而且图形界面抓捕消息的毕竟很臃肿

和冗余,一个小程序,IDE一弄,就几百K了

void CRFIDTESTDlg::OnPortopen() 
{
	// TODO: Add your control notification handler code here
	long port = 1;
	unsigned char com = 255;	
	unsigned char  baud = 1;
	long  frmhandle = 1;
	
	HINSTANCE hinst;
	hinst=LoadLibrary("UHFReader.dll");
	typedef int (WINAPI  *OPENPORT)(long *, unsigned char *, unsigned char *, long *);
	OPENPORT openport = (OPENPORT)GetProcAddress(hinst, MAKEINTRESOURCE(34));
	
    int rst = openport(&port, &com, &baud, &frmhandle);
	CString str;
	str.Format("%d", rst);
	MessageBox(str);
	if(rst == 0)
		MessageBox("端口打开成功");
	else
		MessageBox("端口打开失败");
	
}

参考资料:

1.《VC++深入详解》P725

2.http://blog.csdn.net/SeanSeanSeanSeanSean/archive/2008/10/24/3135141.aspx

相关文章: