神思二代身份证读卡器Demo的C++版本
2016-12-06 17:41
597 查看
在某宝上买了一个神思二代身份证读卡器,给的DEMO实在是....无语了,无奈,自己研究写了一个。
1、首先,需要把licence.dat和Termb.lic文件放到C盘根目录下。
请注意,Termb.lic是有版本的,需要跟自己的读卡器一致...
Termb.lic是有版本的,需要跟自己的读卡器一致...
Termb.lic是有版本的,需要跟自己的读卡器一致...
重要的事情说3遍,因为楼主就从网上下载了一个,调试了N久不知道啥原因,最后发现是Termb.lic的版本问题,问400的客服MM要了一个新的才行!
2、要安装驱动啦。。。最新的找400要。。。CSDN传不上来 。。。
3、先用官方的软件试一下驱动安装是否正常。。。。
4、最后,用C++自己写的demo,比网上的都简单,从文本文件里读出信息即可,当然,最后这些临时文件都自己删除了吧。
代码看这儿:这是读基本信息的操作,之前要加载DLL、验证卡操作完成,结束之后要关闭,卸载DLL。
完整的代码下载:http://download.csdn.net/detail/dafenqie/9710290。
void CUcmdVCDlg::OnButton4()
{
// TODO: Add your control notification handler code here
BYTE CMD;
char tmp[200];
int para0,para1,para2;
CMD=0x44; //读基本信息
//para0=0;
para1=8811;
para2=9986;
char* str = "e:\\testid";
int nRet;
//nRet=mycmd(&CMD,¶0,¶1,¶2);
nRet=mycmd(&CMD,¶0,¶1,(int*)str);
if(nRet==62171)
{
DispIdCardInfo((LPSTR)str);
//初始化端口成功
AfxMessageBox("读卡成功");
}
}
void CUcmdVCDlg::DispIdCardInfo(CString filePath)
{
CString infoFilePath;
CString bmpFilePath;
infoFilePath = filePath + "1.txt";
bmpFilePath = filePath + ".bmp";
CFileFind finder;
BOOL bWorking = finder.FindFile(infoFilePath);
if (bWorking)
{
CStdioFile mFile;
CFileException mExcept;
mFile.Open(infoFilePath, CFile::modeRead, &mExcept);
CString strLine;
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC3)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC5)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC7)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC9)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC11)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC13)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC15)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC17)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC19)->SetWindowTextA(strLine);
//if (PathFileExists(bmpFilePath))
//{
CDC *pDC=NULL;
pDC=GetDlgItem(IDC_STATIC20)->GetDC();
ShowImage(pDC, bmpFilePath, 0,0 );
mFile.Close();
//}
}
}
1、首先,需要把licence.dat和Termb.lic文件放到C盘根目录下。
请注意,Termb.lic是有版本的,需要跟自己的读卡器一致...
Termb.lic是有版本的,需要跟自己的读卡器一致...
Termb.lic是有版本的,需要跟自己的读卡器一致...
重要的事情说3遍,因为楼主就从网上下载了一个,调试了N久不知道啥原因,最后发现是Termb.lic的版本问题,问400的客服MM要了一个新的才行!
2、要安装驱动啦。。。最新的找400要。。。CSDN传不上来 。。。
3、先用官方的软件试一下驱动安装是否正常。。。。
4、最后,用C++自己写的demo,比网上的都简单,从文本文件里读出信息即可,当然,最后这些临时文件都自己删除了吧。
代码看这儿:这是读基本信息的操作,之前要加载DLL、验证卡操作完成,结束之后要关闭,卸载DLL。
完整的代码下载:http://download.csdn.net/detail/dafenqie/9710290。
void CUcmdVCDlg::OnButton4()
{
// TODO: Add your control notification handler code here
BYTE CMD;
char tmp[200];
int para0,para1,para2;
CMD=0x44; //读基本信息
//para0=0;
para1=8811;
para2=9986;
char* str = "e:\\testid";
int nRet;
//nRet=mycmd(&CMD,¶0,¶1,¶2);
nRet=mycmd(&CMD,¶0,¶1,(int*)str);
if(nRet==62171)
{
DispIdCardInfo((LPSTR)str);
//初始化端口成功
AfxMessageBox("读卡成功");
}
}
void CUcmdVCDlg::DispIdCardInfo(CString filePath)
{
CString infoFilePath;
CString bmpFilePath;
infoFilePath = filePath + "1.txt";
bmpFilePath = filePath + ".bmp";
CFileFind finder;
BOOL bWorking = finder.FindFile(infoFilePath);
if (bWorking)
{
CStdioFile mFile;
CFileException mExcept;
mFile.Open(infoFilePath, CFile::modeRead, &mExcept);
CString strLine;
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC3)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC5)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC7)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC9)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC11)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC13)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC15)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC17)->SetWindowTextA(strLine);
mFile.ReadString(strLine);
GetDlgItem(IDC_STATIC19)->SetWindowTextA(strLine);
//if (PathFileExists(bmpFilePath))
//{
CDC *pDC=NULL;
pDC=GetDlgItem(IDC_STATIC20)->GetDC();
ShowImage(pDC, bmpFilePath, 0,0 );
mFile.Close();
//}
}
}
相关文章推荐
- 神思二代身份证读卡器Demo——C#
- 关于新中新二代身份证读卡器DKQ-A16D的一些问题
- cocos游戏的真正入口,用C++实现的demo版本
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part06 forward, rois boxes transform
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part04 图片转存为blob
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part03 处理图片:减掉平均值, resize
- C#调用C++DLL 使用 德卡 读卡器 获取身份证信息
- 二代身份证读卡器接口函数Delphi声明
- 神思读卡器读取身份证
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part05 Reshape
- 【更新】根据py-faster-rcnn的demo.py修改成c++版本
- c++实现一个比较两个string类型的版本号的小demo
- 新中新二代身份证读卡器C#开发问题及解决方法
- 根据py-faster-rcnn的demo.py修改成c++版本
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part02 初始化, 创建Net
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part07 nms, 获取符合条件的boxes
- 【预研】Storm C++ Wrapper demo的单机版本实现
- C/C++ 版本比较demo分享
- c++实现一个比较两个string类型的版本号的小demo
- tesseract的一个c++版本demo