操作顺序:
- 打开设备
- 卡认证
- 读卡
调用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)); //
}