您的位置:首页 > 编程语言 > C语言/C++

神思二代身份证读卡器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(); 
//} 
}

}

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息