身份证读卡设备-华视电子

操作顺序:

  • 打开设备
  • 卡认证
  • 读卡

调用sdk的方法读卡等。

读卡

while (true)// 
{
    if (bgw.CancellationPending)//
    {
        e.Cancel = true; //
        return;
    }
    int authenticate = CVRSDK.CVR_Authenticate();
    if (authenticate == 1)
    { 
        int readContent = CVRSDK.CVR_Read_FPContent();  
        if (readContent != 1)
        { 
            bgw.ReportProgress(100, "读卡失败");
            Thread.Sleep(TimeSpan.FromSeconds(1));//
            continue;
        } 
    }
    else
    {
        Thread.Sleep(TimeSpan.FromSeconds(1));//
        continue;
    } 
 
    int length = 0; 
    byte[] name = new byte[128];
    length = 128;
    CVRSDK.GetPeopleName(ref name[0], ref length);//姓名
    string nameStr = Encoding.GetEncoding("GB2312").GetString(name);
    //
    byte[] number = new byte[128];
    length = 128;
    CVRSDK.GetPeopleIDCode(ref number[0], ref length);//身份证号码
    string cardNoStr = Encoding.GetEncoding("GB2312").GetString(number);
    //
    string IsReadCardAddress = mesh.common.SystemSetting.GetSetting("IsReadCardAddress"); 
    byte[] address = new byte[128];
    length = 128;
    CVRSDK.GetPeopleAddress(ref address[0], ref length);//地址
    string addressStr = Encoding.GetEncoding("GB2312").GetString(address); 
    //
    bgw.ReportProgress(50, new object[] { nameStr, addressStr, cardNoStr });
    Thread.Sleep(TimeSpan.FromSeconds(3)); //
}
上一篇:BUG_1:谨防RAM溢出导致程序不正常的问题


下一篇:2018 蓝桥杯 明码 进制转化