IDCardReader核心源代码出售:
价格:贰佰圆人民币
微信:splashcn
程序功能说明:
使用C#语言实现的一个通用的二代身份证阅读器ActiveX控件,已在银安科技、神思电子、华视电子的USB接口的阅读器上完美通过测试,并在代码质量、易用性和稳定性方面超越目前所有厂商的官方版本。欢迎大家在项目里免费使用。
演示程序下载:
IDCardReaderActiveX.zip(提取码:oszj)
使用接口说明
/* ---------------------------------------------------------- * 文件名称:IDCardReaderActiveX.cs * * 作者:秦建辉 * * 微信:splashcn * * 博客:http://www.firstsolver.com/wordpress/ * * 开发环境: * Visual Studio V2017 * .NET Framework 2.0 * * 版本历史: * V1.2 2019年06月27日 * 接口中增加身份证信息文件存放目录设置 * * V1.1 2019年05月05日 * 优化同步读卡接口 * * V1.0 2019年04月30日 * 二代身份证阅读器ActiveX控件 * * 参考资料: * http://www.pinvoke.net/default.aspx/Interfaces/IObjectSafety.html * * 注册命令 * %WINDIR%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe IDCardReaderActiveX.dll /codebase * 卸载命令 * %WINDIR%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe IDCardReaderActiveX.dll /u * * 使用说明: * Initialize方法参数说明 * 0:银安科技(通用) 1:华视电子 2:神思电子 * Start方法参数说明 * 0:不需要 1:照片 2:指纹 3:照片+指纹 * 注意:目前没提供指纹数据 ------------------------------------------------------------ */ namespace Com.FirstSolver.CR { [ComSourceInterfaces(typeof(IComEvents))] [Guid("81D112C0-EB3D-4B62-80A6-BF3F62E9F74B"), ProgId("Com.FirstSolver.CR.IDCardReaderActiveX"), ComVisible(true)] public class IDCardReaderActiveX : IObjectSafety, IDisposable { /// <summary> /// 软件作者 /// </summary> public string Author; /// <summary> /// 软件版本 /// </summary> public string Version; /// <summary> /// 公司名称 /// </summary> public string Company; /// <summary> /// 错误信息,方法执行后将设置此参数 /// </summary> public string ErrorMessage; /// <summary> /// 读卡结束事件处理器委托声明 /// </summary> /// <param name="id">身份证卡号</param> /// <param name="data">身份证详细信息,JSON字符串</param> public delegate void ReadCardCompletedHandler(string id, string data); /// <summary> /// 读卡结束事件处理器 /// </summary> public event ReadCardCompletedHandler OnReadCardCompleted; /// <summary> /// 构造函数 /// </summary> public IDCardReaderActiveX(); /// <summary> /// 初始化 /// </summary> /// <param name="model">二代身份证阅读器厂家编号 0:银安科技(通用) 1:华视电子 2:神思电子</param> /// <param name="sync">是否同步读卡操作。如果同步则每次读卡前需调用ReadCard方法</param> /// <param name="folder">一个有读写权限的目录,用于身份证信息文件存放。如果为null或者空串,则默认我的文档\Springwheat\IDCardReader\目录</param> /// <returns> /// true:成功 /// false:失败 /// </returns> public bool Initialize(int model = 0, bool sync = false, string folder = null); /// <summary> /// 释放资源 /// </summary> public void Dispose(); /// <summary> /// 释放托管资源和非托管资源,等同于Dispose() /// </summary> public void Close(); /// <summary> /// 开启身份证读取服务 /// </summary> /// <param name="wanted"> /// 需要的生物特征数据(0:不需要 1:照片 2:指纹 3:照片+指纹) /// </param> /// <returns> /// 0:读卡服务启动成功 /// 1:读卡服务已经启动 /// -1:读卡服务启动失败 /// </returns> /// <remarks>注意:该版本未提供指纹数据</remarks> public int Start(int wanted = 1); /// <summary> /// 停止读卡 /// </summary> public void Stop(); /// <summary> /// 同步状态下开启读卡操作,非同步状态下无需调用此方法 /// </summary> public void ReadCard(); /// <summary> /// 是否处于读卡状态 /// </summary> public bool IsAlive; /// <summary> /// 读卡器USB端口号 /// </summary> public int Port; #region 身份证数据 /// <summary> /// 姓名,最大字符个数=15 /// </summary> public string Name; /// <summary> /// 性别,1-男 2-女,最大字符个数=1 /// </summary> public string Sex; /// <summary> /// 身份证号码,最大字符个数=18 /// </summary> public string CardNo; /// <summary> /// 民族编码,最大字符个数=2 /// </summary> public string NationCode; /// <summary> /// 民族名称 /// </summary> public string Nation; /// <summary> /// 出生日期(yyyy年MM月dd日),最大字符个数=11 /// </summary> public string Birth; /// <summary> /// 住址,最大字符个数=35 /// </summary> public string Address; /// <summary> /// 签发机关,最大字符个数=15 /// </summary> public string Police; /// <summary> /// 有效期限开始日期(yyyy.MM.dd),最大字符个数=10 /// </summary> public string ActivityFrom; /// <summary> /// 有效期限截止日期(yyyy.MM.dd),最大字符个数=10 /// </summary> public string ActivityTo; /// <summary> /// 最新住址,最大字符个数=35 /// </summary> public string NewAddress; /// <summary> /// 照片数据(Base64编码) /// </summary> public string Photo; #endregion } }