二代身份证读卡器二次开发代码

合集下载

NFC手机读身份证demo及SDK

NFC手机读身份证demo及SDK

NFC读卡接口日期版本说明作者2018/12/09V1.0.0NFC&OTG证件读取,支持身份证/港澳居民居住证/护照/EID1.概述本SDK支持二代身份证、护照及EID的读取。

二代身份证接口添加了身份鉴权操作,只有当鉴权通过的用户才可以使用公司提供的解码服务器进行身份证解码。

护照及EID功能开通需要单独申请。

NFC读卡用于支持NFC的安卓设备上。

OTG读卡用于支持USB的安卓设备上(USB口需要配套专门证件读卡器)。

2.流程图3.回调在使用本SDK前必须实现ActiveCallBack接口中的相关函数,原型如下:public interface ActiveCallBack{void readProgress(int npaogress);void setUserInfo(String sztxt);}void readProgress(int npaogress);返回身份证读卡进度,一共20步。

●void setUserInfo(String sztxt);函数空实现即可,有时会返回调试信息。

4.接口●OTGReadCardAPI接口初始化操作。

paramContext:android的上下文cb:实现回调的类bNFC:统一写成false●GetVersion获取当前版本号●setServerInfo设置服务器列表(初始化后最先调用,必须)twoCardServerList:身份证解码服务器列表eidServerList:为nullbTestServer:统一填false返回值:无●NfcReadCard通过NFC读卡,同步操作,执行结束返回状态。

szAppID:APPID,每家商户的唯一ID(需要向本公司申请后获取)userInfo:用户信息,暂时为空intent:NFC句柄,OTG时填nulldefaultType:只能填eTwoGeneralCarduserData:用户透传数据,如不需要,直接填“”bAuth:填false返回值:41–失败90–成功●GetCardType返回NfcReadCard中读取的卡片类型。

普天身份证阅读器CPIDMR02TG资料

普天身份证阅读器CPIDMR02TG资料

普天身份证阅读器产品介绍普天身份证阅读器CP IDMR02/TG是专为国家发行第二代居民身份证而研制开发的一款台式身份证阅读器。

该款机型采用USB/RS232可选接口,是一体式TYPE B非接触卡读写机具,内含公安部二代证专用的安全模块及上海普天自主开发的射频读写模块,通过计算机通讯接口和安装在计算机中的阅读软件,将个人信息和相片进行显示和存储。

具有独立的知识产权,安全性、保密性及可靠性符合国家标准。

同时也适用于符合ISO/IEC 14443 TYPE B标准的非接触卡的研发、发卡系统及各个领域不同行业用户的应用。

适用范围安全系统:身份识别系统银行系统:身份识别系统交通管理:城市交通一卡通、路桥收费IC卡系统、高速公路IC卡管理系统消费系统:一卡通、门禁、考勤、消费教育事业:校园一卡通、学生证、图书馆、机房管理、食堂消费产品特点符合ISO/IEC 14443 TYPEA/ B 标准符合公安部台式居民身份证阅读器通用技术要求(GA 450-2003)及第1号修改单(草案)提供用户开发的API接口,提供SDK为用户提供良好的二次开发方案可选的RS232或USB接口,采用计算机供电体积小巧、外形美观技术参数支持卡型符合ISO/IEC 14443 TYPE B 标准的非接触卡工作频率13.56MHz 与卡片的通讯速率106Kbps检验循环冗余校检(CRC)感应区面积100×120mm最大感应距离﹥50mm传输速率USB接口:12MbpsRS232接口:9.6-115.2Kbpss软件接口支持VC、VB、DELPHI、PB等电源计算机供电(USB接口)工作电流200mA/DC平均无故障工作时间(MTBF)≥30000小时环境温度存放:-40°C~60°C 工作:0°C~50°C环境湿度存放:20~93%工作:<90%CP IDMR02/TG是为国家发行第二代居民身份证而研制开发的一款台式身份证阅读器。

二代身份证验证设备CM008RU二次开发控件ID2Control使用说明书

二代身份证验证设备CM008RU二次开发控件ID2Control使用说明书

⼆代⾝份证验证设备CM008RU⼆次开发控件ID2Control使⽤说明书⼆代⾝份证验证设备CM008R/U⼆次开发控件ID2Control 使⽤说明书⽬录1. 控件描述 (4)1.1. 基本描述 (4)1.2. 控件组成⽂件 (4)1.3. 控件安装 (4)1.3.1. 安装⽂件安装 (4)1.3.2. ⼿动安装 (5)2. 属性⽅法列表 (5)2.1. 属性列表 (5)2.2. ⽅法列表 (5)3. 调⽤流程 (6)3.1. 顺序读卡调⽤流程 (7)3.1.1. 设臵设备连接端⼝号 (7)3.1.2. 端⼝打开及关闭 (7)3.1.3. 设臵RF缓冲区⼤⼩ (7)3.1.4. 基本读卡调⽤流程 (8)3.2. ⾃动读卡调⽤流程 (9)3.2.1. 设臵设备连接端⼝号 (9)3.2.2. 开启⾃动读卡功能 (9)3.2.3. 获取⾝份证相关信息 (9)3.2.4. 停⽌⾃动读卡功能 (9)4. 属性⽅法详细说明 (10)4.1. 属性 (10)Port—通讯端⼝号 (10)Baudrate—串⾏通讯波特率 (10)AutoOpenPort—是否⾃动打开/关闭端⼝ (10)4.2. ⽅法 (10)SetMaxRFByte—设臵RF缓冲区⼤⼩ (10)OpenPort—打开端⼝ (11)ClosePort—关闭端⼝ (11)ResetSAM—复位安全模块 (11)GetSAMStatus—对安全模块运⾏状态检测 (12)GetSAMID—取得安全模块编号HEX码 (12)GetSAMIDToStr—取得安全模块编号字符串 (12)StartFindIDCard—开始寻卡 (13)SelectIDCard—选取卡⽚ (13)ReadBaseMsg—读取基本信息 (13)ReadNewAppMsg—读取追加信息 (14)ReadMngInfo—读取卡体管理号 (14)DecodeToBMP—把WLT⽂件解码到BMP中 (15)GetJPG—把BMP转换成JPG图像 (15)GetBaseInfo—获取⾝份证卡上基本信息 (16)GetAllInfo—获取⾝份证卡上所有信息 (16)SearchDevice—查找设备 (17)StartAutoReadCard—开启⾃动读卡功能 (17)StopAutoReadCard—关闭⾃动读卡功能 (17)GetErrorMsg—获取错误代码对应的信息 (18)GetNation—获取民族编号对应的民族信息 (18)GetSex—获取性别代码对应的性别信息 (18)GetComBaudrate—获取安全模块通讯波特率 (18)SetCOMBaud—设臵安全模块通讯波特率 (19)5. 错误代码表 (19)6. 使⽤⽰例 (20)6.1. VC调⽤⽰例 (20)6.2. VB调⽤⽰例 (23)6.3. Delphi调⽤⽰例 (25)1.控件描述1.1.基本描述⼆代⾝份证验证设备CM008R/U的⼆次开发控件ID2Control是基于公安部安全模块接⼝API函数的基础上开发的,继承了公安部安全模块接⼝所有API函数功能,并增加了相应的转换函数,使得⼆次开发⽤户更易于开发。

第二代居民身份证termb.dll应用开发使用手册

第二代居民身份证termb.dll应用开发使用手册
读民族信息:
int_stdcallGetPeopleNation(char *strTmp, unsigned int strLen);
读出生日期:
int_stdcallGetPeopleBirthday(char *strTmp, unsigned int strLen);
读住址信息:
int_stdcallGetPeopleAddress(char *strTmp, unsigned int strLen);
读身份号码:
int_stdcallGetPeopleIDCode(char *strTmp, unsigned int strLen);
读签发机关:
int_stdcallGetDepartment(char *strTmp, unsigned int strLen);
读有效启始日期:
int_stdcallGetStartDate(char *strTmp, unsigned int strLen);
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Button2: TButton;
Button3: TButton;
Image1: TImage;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
设置基本信息
16.
int _stdcall SetPhotoData(char *WltFileName)
设置照片WLT信息
4
5
5.1初始化串口
原型:int InitComm (intPort)

DOCOM二代系统板WinCE二次开发指南V2.0

DOCOM二代系统板WinCE二次开发指南V2.0

D O C O M R &D DOCOM 二代系统板WinCE 二次开发指南-V2.0 版本更改说明时间 版本号 说明2012-7-1 1.0 基本发布版本2013-7-17 2.01.升级TXWDEVLib.dll 库文件到V2.0a.增加支持我司高速加密读卡器功能b.增加支持三合一身份证读卡器功能c.增加高速光学进口指纹机功能d.增加条码读卡器汉字输出和16进制输出功能2.升级网络版CE 例程到TXWDemo_OLV2.0a.增加指纹票的功能演示b.增加摄像头票的功能演示3.增加.net3.5错误提示的汉字显示安装包4.IPchange.exe 的bug 修正5.增加数据库功能的支持B 键盘设备声音修改7.ftp 访问加密功能注意:支持上述有些功能操作系统也需要升级到新版本TFT 版本:NK_TFT32.binVGA 版本:NK_VGA32.bin一.开发环境 Windows XP ,.Net3.5,VS2005或VS2008、C#开发平台 二.目录文件说明 C#下的Lib 库\TXWDEVLib.dll 在VS 平台C#下可以直接引用进来,并调用类库函数 TXWCfg.ini类库使用的配置文件 用户根据自己的使用环境配置该文件WinCE 必备文件\autorun.bat系统启动文件,用户可更改来启动其它文件 IPChange.exe物理地址和IP 地址管理软件 TaskMng.exe任务管理软件 TXWDEV .dll设备驱动库,必须拷贝的TXWDEVLib.dll 同目录下 被TXWDEVLib.dll 调用,用户无需直接调用 ok.wav音频文件“欢迎光临” 客户可根据需求自行添加音频文件 tkterr.wav 音频文件“无效票”IOTest.exe TXW 开发的IO 口测试工具D O C O M R &D WGTest.exe TXW 开发的韦根测试工具WltCE.exe 、LICENSE.DAT 身份证读卡器解密文件被TXWDEVLib.dll 调用,用户无需直接调用没有使用二代身份证读卡器可不添加VCOMExample.dll Lumidigm 指纹驱动文件被TXWDEVLib.dll 调用,用户无需直接调用没有使用指纹可不添加RegeditTool.exe 、Readtim.exe 产品注册工具NETCFv35.Messages.zh-CHS.cab .net3.5消息显示包,拷贝到CE 下安装到txwzn 目录下System.Data.SQLite.dll SQLite 数据库必备文件SQLite.Interop.087.dll SQLite 数据库必备文件TXWCamare.dll摄像头驱动,动态加载 ceMfDll.dll加密读卡器驱动 FTPTool.exe ftp 加密工具 regedit.exe注册表工具 SetSysV olum.exe系统声音配置工具CERDISP2.exe远程桌面控制工具开发例程\ 单机版 CE Demo 程序网络版 CE Demo 程序PC 服务端Demo 程序二代系统板通信协议V3.01(演示版)IC 读卡器例程桌面加密IC 读卡器二次开发包及例程其它工具,调试辅助工具ftp 上传工具 专业的ftp 工具,可以使用该工具拷贝文件 串口调试助手 Windows 的串口调试助手三.使用方法3.1. Lib 库的使用方法1.在VS2005或VS2008环境下,新建一个C#语音的智能设备应用程序。

华视身份证阅读器CVR-100产品资料

华视身份证阅读器CVR-100产品资料

1650华视CVR-100U/D产品概述1、CVR-100U/D型第二代身份证阅读仪是采用非接触式IC卡技术,与计算机终端或其它设备连接可用于读取居民身份证专用芯片内相关信息的专用机具。

2、通过随机解码软件,可将身份证内的数字压缩相片还原为可视照片,实现完全的“人、证同一性”的认定。

3、本身份证专用阅读机具完全兼容ISO-14443(TYPE-B)标准,用户根据需要可用本设备读取其它非接触IC卡信息。

4、提供开放的应用程序接口(API),供系统集成进行二次开发。

5、CVR-100U/D型第二代身份证阅读仪外型美观大方、体积小巧、结构合理。

外壳采用ABS工程塑料注塑而成,制造工艺先进,检验手段科学,性能稳定可靠。

6、CVR-100U/D型第二代身份证阅读仪外观如下:性能参数基本参数:1、符合居民身份证阅读器通用技术要求,兼容ISO14443(TypeB)标准;2、工作频率:13.56MHz(fc);3、天线能量输出;1)天线表面磁场强度(Hmax)≤7.5A/m rms;2)天线表面法线方向5cm处电磁场强度(Hmin)≥1.5A/m rms;4、接口:USB接口;5、阅读距离:0-5cm;6、阅读时间:<0.5s;7、适用于WIN98/2000/XP/NT平台;8、可用开发工具:VC/DEPHI/VB/PB等;9、电源:DC9V/1A(±5%)。

具有电源自动保护设计;10、平均无故障工作时间(MTBF):大于5000小时;11、使用环境:1)工作温度:0℃~50℃;2)相对湿度:20%~90%RH;3)大气压力:60KPa~110 Kpa;12、重量:<0.75Kg;13、外型尺寸:180(L)×130(W)×38(H)mm。

CVR-100U/D型第二代身份证阅读仪外型美观大方、体积小巧、结构合理。

外壳采用ABS工程塑料注塑而成,制造工艺先进,检验手段科学,性能稳定可靠。

二代身份证读卡器二次开发说明

二代身份证读卡器二次开发说明

二代身份证读卡器二次开发说明编写目的为了在自行开发的项目中使用“新中新二代身份证读卡器”(以下简称读卡器)获得的二代身份证信息,需要对现有读卡器程序进行二次开发。

准备SDK: 新中新二代证SDK开发包.rar示例代码: “新中新二代证SDK开发包.rar\DLL\测试程序\C#”读卡器型号: DKQ-116D版本号:DU使用方法由于开发包中已提供了相对完整的示例代码,因此本文直接以示例代码中的例子进行讲解。

一、开发前先运行开发包中”\DLL\DLLTestSDK.exe”或者“新中新二代身份证验证系统”以保证读卡器硬件连接及驱动都已正确安装. 或者单独安装驱动程序(一)、“新中新二代身份证验证系统”1. 运行程序2. 在读卡器上扫描二代身份证,在界面上查看是否显示身份证信息(二)、“DLLTestSDK.exe”1. 运行程序2. 点击“自动寻找读卡器”,查看列表框提示信息及”端口号”内容是否被改变3. 点击”使用结构体返回信息”,查看列表框中是否已输出身份证信息.二、将” sdtapi.dll”、” SynIDCardAPI.dll”、” WltRS.dll” 3个文件复制到与程序运行相同目录三、参考示例代码,在自己开发的类中定义结构体”IDCardData”,并声明"SynIDCardAPI.dll"的方法.[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]public string Nation; //名族[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]public string Born; //出生日期[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 72)]public string Address; //住址[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)]public string IDCardNo; //身份证号[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]public string GrantDept; //发证机关[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]public string UserLifeBegin; // 有效开始日期[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]public string UserLifeEnd; // 有效截止日期[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)]public string reserved; // 保留[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]public string PhotoFileName; // 照片路径}/************************端口类API *************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetMaxRFByte", CharSet =CharSet.Ansi)]public static extern int Syn_SetMaxRFByte(int iPort, byte ucByte, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetCOMBaud", CharSet = CharSet.Ansi)] public static extern int Syn_GetCOMBaud(int iPort, ref uint puiBaudRate);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetCOMBaud", CharSet = CharSet.Ansi)] public static extern int Syn_SetCOMBaud(int iPort, uint uiCurrBaud, uint uiSetBaud); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_OpenPort", CharSet = CharSet.Ansi)] public static extern int Syn_OpenPort(int iPort);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ClosePort", CharSet = CharSet.Ansi)] public static extern int Syn_ClosePort(int iPort);/**************************SAM类函数 **************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ResetSAM", CharSet = CharSet.Ansi)] public static extern int Syn_ResetSAM(int iPort, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetSAMStatus", CharSet =CharSet.Ansi)]public static extern int Syn_GetSAMStatus(int iPort, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetSAMID", CharSet = CharSet.Ansi)] public static extern int Syn_GetSAMID(int iPort, ref byte pucSAMID, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetSAMIDToStr", CharSet = CharSet.Ansi)]public static extern int Syn_GetSAMIDToStr(int iPort, ref byte pcSAMID, int iIfOpen);/*************************身份证卡类函数 ***************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_StartFindIDCard", CharSet = CharSet.Ansi)]public static extern int Syn_StartFindIDCard(int iPort, ref byte pucIIN, int iIfOpen); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SelectIDCard", CharSet =CharSet.Ansi)]public static extern int Syn_SelectIDCard(int iPort, ref byte pucSN, int iIfOpen); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadBaseMsg", CharSet = CharSet.Ansi)] public static extern int Syn_ReadBaseMsg(int iPort, ref byte pucCHMsg, ref uint puiCHMsgLen, ref byte pucPHMsg, ref uint puiPHMsgLen, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadIINSNDN", CharSet = CharSet.Ansi)] public static extern int Syn_ReadIINSNDN(int iPort, ref byte pucIINSNDN, int iIfOpen); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadBaseMsgToFile", CharSet = CharSet.Ansi)]public static extern int Syn_ReadBaseMsgToFile(int iPort, ref byte pcCHMsgFileName, ref uint puiCHMsgFileLen, ref byte pcPHMsgFileName, ref uint puiPHMsgFileLen, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadIINSNDNToASCII", CharSet = CharSet.Ansi)]public static extern int Syn_ReadIINSNDNToASCII(int iPort, ref byte pucIINSNDN, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadNewAppMsg", CharSet = CharSet.Ansi)]public static extern int Syn_ReadNewAppMsg(int iPort, ref byte pucAppMsg ,ref uint puiAppMsgLen , int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetBmp", CharSet = CharSet.Ansi)] public static extern int Syn_GetBmp(int iPort, ref byte Wlt_File);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadMsg", CharSet = CharSet.Ansi)] public static extern int Syn_ReadMsg(int iPortID, int iIfOpen, ref IDCardData pIDCardData);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_FindReader", CharSet = CharSet.Ansi)] public static extern int Syn_FindReader();/***********************设置附加功能函数 ************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetPhotoPath", CharSet =CharSet.Ansi)]public static extern int Syn_SetPhotoPath(int iOption, ref byte cPhotoPath);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetPhotoType", CharSet =CharSet.Ansi)]public static extern int Syn_SetPhotoType(int iType);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetPhotoName", CharSet =CharSet.Ansi)]public static extern int Syn_SetPhotoName(int iType);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetSexType", CharSet = CharSet.Ansi)] public static extern int Syn_SetSexType(int iType);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetNationType", CharSet =四、调用” Syn_FindReader()”获得读卡器端口号五、如需保存照片调用”Syn_SetPhotoPath”设置照片保存位置,调用”Syn_SetPhotoType()”设置保存格式,调用” Syn_SetPhotoName()”设置文件名规范.六、读取信息:步骤: 打开端口->设置通讯字节数->读取卡信息->指向读到的第一张卡信息->将卡信息填入结构体-> 读取结构体信息参考示例代码:private void button17_Click(object sender, EventArgs e){IDCardData CardMsg = new IDCardData();int nRet,nPort;string stmp;byte[] pucIIN = new byte[4];byte[] pucSN = new byte[8];nPort = Convert.ToInt32(textBox1.Text);if (Syn_OpenPort(nPort) == 0){if (Syn_SetMaxRFByte(nPort,80,0)==0){nRet = Syn_StartFindIDCard(nPort, ref pucIIN[0], 0);nRet = Syn_SelectIDCard(nPort,ref pucSN[0], 0);nRet = Syn_ReadMsg(nPort, 0, ref CardMsg);if (nRet == 0){stmp = Convert.ToString(System.DateTime.Now) + " 姓名:" +;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 性别:" +CardMsg.Sex;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 民族:" +CardMsg.Nation;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 出生日期:" + CardMsg.Born;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 地址:" + CardMsg.Address;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 身份证号:" + CardMsg.IDCardNo;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 发证机关:" + CardMsg.GrantDept;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 有效期开始:" + erLifeBegin;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 有效期结束:" + erLifeEnd;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 照片文件名:" + CardMsg.PhotoFileName;listBox1.Items.Add(stmp);}else{stmp = Convert.ToString(System.DateTime.Now) + " 读取身份证信息错误";listBox1.Items.Add(stmp);}}}else{stmp = Convert.ToString(System.DateTime.Now) + " 打开端口失败";listBox1.Items.Add(stmp);}}。

二次开发接口说明V3.0

二次开发接口说明V3.0

⼆次开发接⼝说明V3.01.概述精伦电⼦开发的⼆代⾝份证读卡系列机具适⽤于相关⾏业的联机型应⽤。

产品提供了完善的⼆次软件开发接⼝(API)。

本⼿册对开发接⼝的⽂件组成、函数定义格式、调⽤⽅法及返回值等进⾏详细的说明。

本通⽤开发包⽀持的设备型号如下:1、iDR200(串⼝和USB⼝)。

2、iDR320(必须进⼊“同步应⽤”模式)。

3、iDR400-1(必须进⼊“同步”模式)。

4、iDR210(USB-HID免驱动接⼝)。

5、iDR210(串⼝)。

注意:完全兼容原2.0版本开发接⼝,⽀持USB-HID接⼝和串⼝的iDR210。

1、如果使⽤原开发包采⽤动态调⽤dll⽅式,只需直接替换原dll即可。

2、如果使⽤原开发包采⽤的静态调⽤⽅式,则在不改变代码的情况下,对原程序重新编译链接即可。

2.系统要求使⽤本API的PC机,必须满⾜下列条件:●Windows 98、Windows 2000 Pro、Windows 2000 Server、Windows XP。

●⾄少32兆内存(32M RAM or Larger)。

●⾄少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)。

●⾄少⼀个空闲普通串⼝或USB⼝(视⽤户需求⽽定)。

3.接⼝⽂件说明接⼝⽂件包括:Dewlt.dll 相关动态联接库sdtapi.dll 相关动态联接库JpgDll.dll 相关动态联接库SavePhoto.dll 相关动态联接库sdtapi.h 相关动态联接库头⽂件适⽤开发语⾔:Visual C++ 5.0 及以后版本C++ Builder 5.0 及以后版本Visual Basic 5.0 及以后版本Delphi 3.0 及以后版本PowerBuilder 5.0 及以后版本4.接⼝函数说明4.1.端⼝函数4.1.1.端⼝初始化函数原型:int InitComm (int iPort)说明:本函数⽤于打开串⼝或USB并检测读卡设备是否就绪。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

While Mid(mf, readname, 1) = " "
readname = readname + 1
Wend
d = readname
i=i+1
End If
readname = readname + 1
Wend
idno1 = Mid(ii(3), 1, 18) '身份证号
sex1 = Mid(idno1, 17, 1) '性别代码
stuname = ii(1)
'姓名
addres = Mid(ii(2), 12) '住址
birthday = Mid(idno1, 7, 4) + "-" + Mid(idno1, 11, 2) + "-" + Mid(idno1, 13, 2) '出生日期
If Int(CInt(sex1) / 2) = CInt(sex1) / 2 Then '性别转换
Public Function FTPTxtFile(site, file) 'ftp 上传 Inet1.URL = "ftp://" & site Inet1.Protocol = icFTP erName = "upphoto" ‘ftp 用户(可改) Inet1.Password = "upphoto" ‘ftp 密码(可改) Inet1.Execute , "PUT c:/aha.bmp " & file ‘上传 c 盘根目录的 aha.bmp 文件 Do While Inet1.StillExecuting
<td width="175" class="color2" > <P align=left> <input size=25 name=fname maxLength=25 >
</P></td> </tr> <tr>
<td class="color2" > <P align=center><FONT size=3>性别:</FONT></P></td> <td class="color2" > <P align=left>
sex1 = "女"
Else
sex1 = "男"
End If
fname.value = stuname
fsex.value = sex1
fbirth.value = birthday
fadd.value = addres
fid.value = idno1
fdep.value=pf
pf=icread.toftp("192.168.2.218",idno1&".bmp") 'ip 为存放身份证照片的服务器 IP 地址,此地址要建 ftp 服
<input size=25 name=fnation maxLength=25 > </P></td> </tr> <tr> <td class="color2" > <P align=center><FONT size=3>出生:</FONT></P></td> <td class="color2" > <P align=left>
Public Function hx_IDname() As String '供外部调用函数 hx_IDname = ostudent() End Function
Public Function toftp(urln, file) '供外部调用函数 Call FTPTxtFile(urln, file) End Function
</OBJECT> <script language=vbscript>
function IC_read() Dim readname, i, d, idno1, sex1, stuname, addres, idno, birthday,mf,pf Dim ii(10) mf=icread.hx_IDname() '通过插内函数读出身份证数据 'msgbox(mf) '显示读出的原内容 内里有民族,身份证有效期等

end if
end function
</script>
<script language="JavaScript"> function res(){ var i = Math.random();
document.getElementById("photoid").src="c:/aha.bmp";} //显示读出的身份证照片 </script>
Put #1, , pf(i) i=i+1 Wend Close #1 Call GetBmp("c:\aha.wlt", 2) ‘调用读卡器函数库 Else MsgBox ("请重放身份证") ostudent = "1" End If End Function
文件 htmok,生成 htmok.ocx லகம் = CLng(mf(i)) * 256 + CLng(mf(i - 1)) i=i+2 bb = bb + ChrW(aa) Wend 'mf = StrConv(mf, 128) '把 Unicode 码转换成 ansi 码 ostudent = bb
'下面提取照片 Open asx & "c:\aha.wlt" For Output As #1 Close #1 Open "c:\Aha.wlt" For Binary As #1 i=0 While i < 1024
if len(Trim(mf))>1 then '是否读出数据
readname = 1
i=1
d=1
While readname < Len(mf) '把读出的数据拆分
If Mid(mf, readname, 1) = " " Then
ii(i) = Mid(mf, d, readname - d)
<table width="471" border="1" cellspacing="0" cellpadding="0" > <tr> <td width="114" class="color2" > <P align=center><FONT size=3>姓名:</FONT></P></td> <td width="174" rowspan="8" class="color2" > <IMG id ="photoid" ></td>
<input size=25 name=fbirth maxLength=25 > </P></td> </tr> <tr> <td class="color2" > <P align=center><FONT size=3>住址:</FONT></P></td> <td class="color2" > <P align=left>
<input size=25 name=fid maxLength=25 > </P></td> </tr> <tr> <td class="color2" > <P align=center><FONT size=3>发证机关:</FONT></P></td> <td class="color2" > <P align=left>
CLASSID="CLSID:900623A9-FF0F-4BAD-9CB7-EE10C761267E" CODEBASE="htmok.CAB#version=1,0,0,0" width=0 height=0 align=center hspace=0 vspace=0
ID="icread" >
<input size=25 name=fadd maxLength=25 > </P></td> </tr> <tr> <td class="color2" > <P align=center><FONT size=3>证号:</FONT></P></td> <td class="color2" > <P align=left>
相关文档
最新文档