这个简单的测试项目,界面上有个timer控件,设计的是3秒执行一下读取身份证的动作,目前想到的是这种循环方式,德卡T10这个机子,身份证放上去,不会自动去执行读取的操作。
1.界面
2.界面的代码 Form1.cs 如下
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Text; 7 using System.Windows.Forms; 8 using System.IO; 9 using System.Threading; 10 11 namespace IDCard 12 { 13 public partial class Form1 : Form 14 { 15 public static string StrCardNo = "1"; //记录下的 上次有效的身份证号 16 public Form1() 17 { 18 InitializeComponent(); 19 } 20 21 private void timer1_Tick(object sender, EventArgs e) 22 { 23 textBox8.Focus(); 24 PersonInfo person = new PersonInfo(); 25 int result = IDCard.GetCardInfo.getCardInfo(ref person); 26 if (result < 0)//未读取到身份证 27 { 28 return; 29 } 30 string strCardNoThis=""; //本次读取到的身份证号 31 if (person.IdNumber == null) 32 { 33 strCardNoThis = ""; 34 } 35 else 36 { 37 strCardNoThis = person.IdNumber; 38 //如果记录的上次的有效号和 本次的号 一样,处理掉 不用 39 if (StrCardNo.Equals(strCardNoThis)) 40 { 41 return; 42 } 43 else //如果和之前的不一样,赋值为最新 44 { 45 StrCardNo = strCardNoThis; 46 textBox8.Text = strCardNoThis; 47 } 48 } 49 50 //显示读取到的身份证UID</