华视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

回到顶部