身份证阅读器代码C#

身份证阅读器代码C#

 两个类:
ReadIDCardService.CS
 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.InteropServices;

using System.Text;

 

 

    public class ReadIDCardService

    {

 

        public IDCard ReadIDCard(int Port)

        {

            StringBuilder Name = new StringBuilder(31);

            StringBuilder Gender = new StringBuilder(3);

            StringBuilder Folk = new StringBuilder(10);

            StringBuilder BirthDay = new StringBuilder(9);

            StringBuilder Code = new StringBuilder(19);

            StringBuilder Address = new StringBuilder(71);

            StringBuilder Agency = new StringBuilder(31);

            StringBuilder ExpireStart = new StringBuilder(9);

            StringBuilder ExpireEnd = new StringBuilder(9);

 

            //初始化端口

            //int intOpenRet = InitComm(1001);

            //if (intOpenRet != 1)

            //{

            //    throw new Exception("");

            //}

 

            //设定当前操作的HID接口iDR210

            if (HIDSelect(Port))

            {

                //卡认证

                int intReadRet = Authenticate();

                if (intReadRet != 1)

                {

                    //CloseComm();

                    throw new Exception("");

                }

 

                //读身份证信息

                int intReadBaseInfosRet = ReadBaseInfos(Name, Gender, Folk, BirthDay, Code, Address, Agency, ExpireStart, ExpireEnd);

                if (intReadBaseInfosRet != -3)

                {

                    //CloseComm();

                    throw new Exception("");

                }

 

                //HID_BeepLED(true,true, 200);

 

                IDCard CardData = new IDCard();

                CardData.CardNo = Code.ToString().Trim();

                CardData.Name = Name.ToString().Trim();

                CardData.Sex = Gender.ToString().Trim();

                CardData.Nationality = Folk.ToString().Trim();

                CardData.Birthday = BirthDay.ToString().Trim();

                CardData.Address = Address.ToString().Trim();

                CardData.Institution = Agency.ToString().Trim();

                CardData.Begin_validity = ExpireStart.ToString().Trim();

                CardData.End_validity = ExpireEnd.ToString().Trim();

                CardData.PhotoDirectory = System.IO.Directory.GetCurrentDirectory() + "//photo.bmp";

 

                //CloseComm();

                return CardData;

            }

            else

            {

                //CloseComm();

                throw new Exception("");

            }

        }

 

        [DllImport("sdtapi.dll")]

        private static extern int InitComm(int Port);//初始化

        [DllImport("Sdtapi.dll")]

        private static extern int Authenticate();//卡认证

        [DllImport("sdtapi.dll")]

        private static extern void CloseComm(); //关闭端口

        [DllImport("sdtapi.dll")]

        private static extern int ReadBaseInfos(StringBuilder Name,

            StringBuilder Gender, StringBuilder Folk, StringBuilder BirthDay, StringBuilder Code, StringBuilder Address,

            StringBuilder Agency, StringBuilder ExpireStart, StringBuilder ExpireEnd);//读取数据

        [DllImport("sdtapi.dll")]

        private static extern int HID_BeepLED(bool BeepON, bool LEDON, int duration); //蜂鸣器

        [DllImport("sdtapi.dll")]

        private static extern bool HIDSelect(int index); //设定当前操作的HID接口iDR210

        [DllImport("sdtapi.dll")]

        private static extern int CardOn(); //判断身份证是否在设备上

 

 

    }

 

---------------------
IDCard.CS

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

 

 

    public class IDCard

    {

        public string Name;//姓名 

        public string Sex;//性别 

        public string CardNo; //身份证号 

        public string Nationality; //民族 

        public string Birthday; //生日 

        public string Address;//家庭住址 

        public string Institution;//发证机关 

        public string Begin_validity;// 有效期开始 

        public string End_validity;//有效期结束 

        public string PhotoDirectory;//照片路径; 

    }


--------------------------------------------
调用:
 

  [DllImport("sdtapi.dll")]

  private static extern int InitComm(int Port);//初始化

///
  int intOpenRet = InitComm(1001);

            if (intOpenRet != 1)

            {

    //初始化失败

              

            }

            try

            {

                ReadIDCardService ReadIDCardService = new ReadIDCardService();

                IDCard CardData = ReadIDCardService.ReadIDCard(1);

                string sfz = CardData.CardNo;//这里可以获取读卡后的身份证信息

               

            }

            catch (Exception ex)

            {

                if (ex.Message != "")

        

            }

QQ:83199235

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值