public void xzxIdCard() { byte[] buffer = new byte[4]; byte[] buffer2 = new byte[8]; IDCardData pIDCardData = new IDCardData(); bool flag = false; string str = ""; int num = Syn_OpenPort(this.usbPort); ReadIdentifyEventArgs e = new ReadIdentifyEventArgs(); if (num == 0) { if (num == 0) { Syn_StartFindIDCard(this.usbPort, ref buffer[0], 0); Syn_SelectIDCard(this.usbPort, ref buffer2[0], 0); //Syn_SetNationType(2); num = Syn_ReadMsg(this.usbPort, 0, ref pIDCardData); if (num == 0) { DateTime time2; string str7; new RecordsBaseInfoModel(); DateTime today = DateTime.Today; string nation = ""; PadForm.idNo = pIDCardData.IDCardNo.Trim(); string name = pIDCardData.Name.Trim(); string iDCardNo = pIDCardData.IDCardNo.Trim(); string sex = pIDCardData.Sex.Trim(); string address = pIDCardData.Address.Trim(); if ((pIDCardData.Born.Length == 8) && DateTime.TryParse(pIDCardData.Born.Substring(0, 4) + "-" + pIDCardData.Born.Substring(4, 2) + "-" + pIDCardData.Born.Substring(6, 2), out time2)) { today = time2; } if (pIDCardData.Nation == "汉族") { str7 = "1"; } else { str7 = "2"; nation = GetNation(pIDCardData.Nation); } this.StopRead(); e.Name = name; e.Idcard = iDCardNo; e.Addr = address; e.Birthday = today; e.Nation = str7; e.Sex = sex; e.Minority = nation; e.ReadResult = 0; flag = true; } else { flag = false; } } } else { str = "身份证读卡器端口打开失败:"; } if ((str != "") || !flag) { if (str != "") { e.ReadResult = -1; e.ErrorInfo = str + num; } } else { this.StopRead(); } if (base.readCardEvent == null) { throw new Exception("readCardEvent 为NULL"); } base.readCardEvent(this, e); }
public void shsIdCard() { byte abuf = 0x43; int num2 = 0; int num3 = 0x226b; int num4 = 0x2702; ReadIdentifyEventArgs e = new ReadIdentifyEventArgs(); UCommand1 command = (UCommand1)DLLWrapper.GetFunctionAddress(this.hModule, "UCommand1", typeof(UCommand1)); int num5 = command(ref abuf, ref num2, ref num3, ref num4); if (num5 == 0xf2db) { new RecordsBaseInfoModel(); byte num6 = 0x44; int num7 = command(ref num6, ref num2, ref num3, ref num4); if (num7 == 0xf2db) { string str9; byte[] buffer = new byte[0x24]; ((GetIDNum)DLLWrapper.GetFunctionAddress(this.hModule, "GetIDNum", typeof(GetIDNum)))(buffer); string str = Encoding.Default.GetString(buffer).Trim(new char[1]).Trim(); DateTime today = DateTime.Today; string str2 = ""; byte[] namebyte = new byte[30]; ((GetName)DLLWrapper.GetFunctionAddress(this.hModule, "GetName", typeof(GetName)))(namebyte); string str3 = Encoding.Default.GetString(namebyte).Trim(new char[1]).Trim().TrimEnd(new char[1]); byte[] sexbyte = new byte[2]; ((GetSex)DLLWrapper.GetFunctionAddress(this.hModule, "GetSexGB", typeof(GetSex)))(sexbyte); string str4 = Encoding.Default.GetString(sexbyte).Trim(new char[1]).Trim(); string str5 = !(str4 == "男") ? (!(str4 == "女") ? "0" : "2") : "1"; byte[] addbyte = new byte[70]; ((GetAddr)DLLWrapper.GetFunctionAddress(this.hModule, "GetAddr", typeof(GetAddr)))(addbyte); string str6 = Encoding.Default.GetString(addbyte).Trim(new char[1]).Trim().TrimEnd(new char[1]); byte[] birthbyte = new byte[0x10]; ((GetBirth)DLLWrapper.GetFunctionAddress(this.hModule, "GetBirth", typeof(GetBirth)))(birthbyte); string str7 = Encoding.GetEncoding("gb2312").GetString(birthbyte).Trim(new char[1]).Trim(); bool flag = true; if (!DateTime.TryParse(str7.Trim().Insert(4, "-").Insert(7, "-").Trim(), out today)) { flag = false; } byte[] folkbyte = new byte[0x10]; ((GetFolk)DLLWrapper.GetFunctionAddress(this.hModule, "GetFolkGB", typeof(GetFolk)))(folkbyte); string str8 = Encoding.Default.GetString(folkbyte).ToString().Trim(new char[1]).Trim().TrimEnd(new char[1]); if (str8 == "汉族") { str9 = "1"; } else { str2 = str8; str9 = "2"; } byte[] newAddr = new byte[70]; ((GetNewAddr)DLLWrapper.GetFunctionAddress(this.hModule, "GetNewAddr", typeof(GetNewAddr)))(newAddr); Encoding.Default.GetString(newAddr).Trim(new char[1]).Trim(); e.Name = str3.Trim(); e.Idcard = str; e.Addr = str6.Trim(); e.Birthday = today; e.Nation = str9.Trim(); e.Sex = str5; e.Minority = str2.Trim(); e.ReadResult = 0; if (string.IsNullOrEmpty(e.Idcard)) { e.ErrorInfo = "读取身份证号码为空!"; e.ReadResult = -4; } if (string.IsNullOrEmpty(e.Name)) { ReadIdentifyEventArgs args2 = e; string str10 = args2.ErrorInfo + "读取身份证姓名为空!"; args2.ErrorInfo = str10; e.ReadResult = -4; } if (!flag) { ReadIdentifyEventArgs args3 = e; string str11 = args3.ErrorInfo + "获取身份证生日失败!"; args3.ErrorInfo = str11; e.ReadResult = -4; } if (string.IsNullOrEmpty(e.Nation)) { ReadIdentifyEventArgs args4 = e; string str12 = args4.ErrorInfo + "获取身份证民族失败!"; args4.ErrorInfo = str12; e.ReadResult = -4; } if (string.IsNullOrEmpty(e.Sex)) { ReadIdentifyEventArgs args5 = e; string str13 = args5.ErrorInfo + "获取身份证性别失败!"; args5.ErrorInfo = str13; e.ReadResult = -4; } if (e.ReadResult == 0) { this.StopRead(); } } else { this.timerReadCard.Enabled = false; e.ReadResult = -2; if (this.readCount > 50) { e.ReadResult = -1; e.ErrorInfo = "身份证信息读取错误,关闭程序重新读取:" + num7; this.readCount = 0; } this.readCount++; this.timerReadCard.Enabled = true; } if (base.readCardEvent == null) { throw new Exception("readCardEvent 为NULL"); } base.readCardEvent(this, e); } else { e.ReadResult = -3; e.ErrorInfo = "卡验证失败:" + num5; } }
public void mtxIDCard() { if (isRunType3) { return; } isRunType3 = true; Int16 st; int icdev = 0; string result = null; ReadIdentifyEventArgs e = new ReadIdentifyEventArgs(); try { int port = 0;//COM1 int baud = 115200; icdev = ReadCardUtility.device_open(port, baud); if ((int)icdev > 0) { //读取身份证信息*/ byte[] message = new byte[1024]; string bmpPath = @"D:\QCSoft\ZP.bmp"; byte[] photoPath = Encoding.Default.GetBytes(bmpPath); st = ReadCardUtility.IDCard_ReadCard_Extra(icdev, photoPath, message); result = Encoding.Default.GetString(message).TrimEnd('\0'); /* string bmpPath = @"D:\ZP.bmp"; * byte[] photoPath = Encoding.Default.GetBytes(bmpPath); * st = mtx_32dll.IDCard_ReadCard_Extra(icdev, photoPath, message); */ if (st == 0) { int i; string name = ""; string iDCardNo = ""; string sex = ""; string address = ""; string str7 = ""; string nation = ""; DateTime today = DateTime.Today; for (i = 0; i < 6; i++) { byte[] info = new byte[1024]; string infodata = null; st = ReadCardUtility.IDCard_GetCardInfo(icdev, i, info); infodata = Encoding.Default.GetString(info).TrimEnd('\0'); if (i == 0) { name = infodata; continue; } if (i == 1) { sex = infodata == "男" ? "1" : "2"; continue; } if (i == 2) { if (infodata == "汉") { str7 = "1"; } else { str7 = "2"; nation = infodata.IndexOf("族") == -1 ? infodata + "族" : infodata; } continue; } if (i == 3) { today = DateTime.ParseExact(infodata, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);; continue; } if (i == 4) { address = infodata; continue; } if (i == 5) { iDCardNo = infodata; continue; } } e.Name = name; e.Idcard = iDCardNo; e.Addr = address; e.Birthday = today; e.Nation = str7; e.Sex = sex; e.Minority = nation; e.ReadResult = 0; if (!Directory.Exists(PhotoPath)) { Directory.CreateDirectory(PhotoPath); } string strNewPhoto = PhotoPath + "\\" + iDCardNo + ".Jpeg"; File.Copy(bmpPath, strNewPhoto, true); this.StopRead(); } } } catch (Exception ex) { } if (icdev > 0) { ReadCardUtility.device_close(icdev); } isRunType3 = false; if (base.readCardEvent == null) { throw new Exception("readCardEvent 为NULL"); } base.readCardEvent(this, e); }
public void shsIdCard() { byte abuf = 0x43; int num2 = 0; int num3 = 0x226b; int num4 = 0x2702; ReadIdentifyEventArgs e = new ReadIdentifyEventArgs(); int num5 = UCommand1(ref abuf, ref num2, ref num3, ref num4); if (num5 == 0xf2db) { new RecordsBaseInfoModel(); byte num6 = 0x44; int num7 = UCommand1(ref num6, ref num2, ref num3, ref num4); if (num7 == 0xf2db) { string str8; byte[] buffer = new byte[0x24]; GetIDNum(buffer); string str = Encoding.Default.GetString(buffer); DateTime today = DateTime.Today; string str2 = ""; byte[] namebyte = new byte[30]; GetName(namebyte); string str3 = Encoding.Default.GetString(namebyte).TrimEnd(new char[1]); byte[] sexbyte = new byte[2]; GetSex(sexbyte); string str4 = Encoding.Default.GetString(sexbyte).Trim(); string str5 = !(str4 == "男") ? (!(str4 == "女") ? "0" : "2") : "1"; byte[] addbyte = new byte[70]; GetAddr(addbyte); string str6 = Encoding.Default.GetString(addbyte).Trim().TrimEnd(new char[1]); byte[] birthbyte = new byte[0x10]; GetBirth(birthbyte); DateTime.TryParse(Encoding.Default.GetString(birthbyte).Trim(), out today); byte[] folkbyte = new byte[30]; GetFolk(folkbyte); string str7 = Encoding.Default.GetString(folkbyte).ToString().TrimEnd(new char[1]); if (str7 == "汉族") { str8 = "1"; } else { str2 = str7; str8 = "2"; } byte[] newAddr = new byte[70]; GetNewAddr(newAddr); Encoding.Default.GetString(newAddr).Trim(); e.Name = str3; e.Idcard = str; e.Addr = str6; e.Birthday = today; e.Nation = str8; e.Sex = str5; e.Minority = str2; e.ReadResult = 0; this.StopRead(); } else { this.timerReadCard.Enabled = false; ErrorLog.WriterLog(num7.ToString()); if (this.readCount > 50) { e.ReadResult = -1; e.ErrorInfo = "身份证信息读取错误,关闭程序重新读取:" + num7; this.readCount = 0; } this.readCount++; this.timerReadCard.Enabled = true; } if (base.readCardEvent == null) { throw new Exception("readCardEvent 为NULL"); } base.readCardEvent(this, e); } else { e.ReadResult = -2; e.ErrorInfo = "卡验证失败:" + num5; if (base.readCardEvent != null) { base.readCardEvent(this, e); } } }