华视cvr100n桌面程序读取身份证新
1.创建winform或者wpf,我创建的是wpf,把dll放入bin/debug下,记住要把license.dat也放进去,否则读取不到身份证照片,这是授权文件
2.引入动态库
[DllImport(@"....inDebug ermb.dll")]
private static extern int CVR_InitComm(int Port);
[DllImport(@"....inDebug ermb.dll")]
private static extern int CVR_Authenticate();
[DllImport(@"....inDebug ermb.dll")]
private static extern int CVR_Read_Content(int active);
[DllImport(@"....inDebug ermb.dll")]
private static extern int CVR_CloseComm();
[DllImport(@"....inDebug ermb.dll")]
private static extern int GetPeopleName(ref byte strTmp, ref int strLen);
[DllImport(@"....inDebug ermb.dll")]
private static extern int GetBMPData(ref byte strTmp, ref int strLen);
3.连接、读取、关闭依次执行就行
var comm = CVR_InitComm(1001);
var Authenticate = CVR_Authenticate();
var read = CVR_Read_Content(4);
var close = CVR_CloseComm();
读取的数据会保存到他们指定的目录下,可以看文档
5.二次开发,让我花了点时间研究,实现了就发现很简单,主要没有使用方法,很麻烦
//二次开发,读取身份证名称
byte[] name = new byte[30];
int length = 30;
GetPeopleName(ref name[0], ref length);
var codeName = System.Text.Encoding.GetEncoding("GB2312").GetString(name).Replace("", "").Trim();
//二次开发读取身份证照片
byte[] bmp = new byte[38862];
int bmpLength = 38862;
GetBMPData(ref bmp[0], ref bmpLength);
image.Source = BytesToBitmap(bmp);//image是前台图片控件,source是设置资源
//byte[] 转图片
public static BitmapImage BytesToBitmap(byte[] Bytes)
{
BitmapImage bmp = null;
try
{
bmp = new BitmapImage();
bmp.BeginInit();
bmp.StreamSource = new MemoryStream(Bytes);
bmp.EndInit();
}
catch
{
bmp = null;
}
return bmp;
}
其他接口二次开发都类似,模仿就行了
以上是 华视cvr100n桌面程序读取身份证新 的全部内容, 来源链接: utcz.com/z/514350.html