关于PB中使用二代证读卡器

carter0924 2011-10-13 08:47:22
有谁用PB做刷过二代证读取身份资料的例子啊,市面上的二代证读卡器都通用的么?都有没有PB的软件接口啊?
...全文
449 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
carter0924 2011-11-04
  • 打赏
  • 举报
回复
恩,现在已经成功接上了,用的正好是楼上兄弟说的普天家的
小金鱼PB 2011-10-14
  • 打赏
  • 举报
回复
我做的项目用的上海普天的设备
fuxiaoyang13 2011-10-14
  • 打赏
  • 举报
回复
图腾和华视的PB代码倒有,你这种没有用过也没机器调试!
xiaobn_cn 2011-10-13
  • 打赏
  • 举报
回复
1. 读卡器不通用,都有自己的开发SDK与驱动

2. 没有专为PB开发的接口,但是PB是可以调用的,一般厂家都会提供PB开会例子
lao_bulls 2011-10-13
  • 打赏
  • 举报
回复
关注,也想了解其
xuam 2011-10-13
  • 打赏
  • 举报
回复
市面上的二代证读卡器就那么几种,一般都有PB接口.
DYFDWX 2011-10-13
  • 打赏
  • 举报
回复
顶一下,关注,也想了解其
hchjjun 2011-10-13
  • 打赏
  • 举报
回复
dll说明里有的
灰色轨迹 2011-10-13
  • 打赏
  • 举报
回复
第二代身份证阅读器一般都是厂家提供接口,一般情况下都支持PB~
小金鱼PB 2011-10-13
  • 打赏
  • 举报
回复
都会提供DLL动态库调用的

这是我们项目中用到的一个。




二代证系统终端API
使用说明最新07/1/1










上海普天邮通科技股份有限公司


2007年01月

二代证系统终端API
使用说明

版 本
1.0.0.1

出版日期

2007年01月

著作权注意事项

  本书版权为上海普天邮通科技股份有限公司所有。未经上海普天邮通科技股份有限公司书面同意,任何公司、单位或个人,不得用任何手段复制本手册的部分或全部内容。
对印刷错误的更正,所述信息谬误的勘误,以及产品的改进,均由上海邮电通信设备股份有限公司随时作出解释,恕不预先通知,修正内容将编入再版说明书中。











1.前言
本应用程序接口(API)用于二代证验证系统的验证终端应用系统的开发。

2.系统要求
使用本API的PC机,必须满足下列条件:
 Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP
 至少32兆内存(32M RAM or Larger)
 至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)
 至少一个空闲普通串口或USB口(视用户需求而定)。
3.API列表
应用函数开发包含下列文件:
cardapi.lib API函数的VC开发包
cardapi.h API函数声明
cardapi.dll API函数的动态联接库
stdapi.dll cardapi.dll的依赖动态联接库
WltRS.dll cardapi.dll的依赖动态联接库

序号 函数名 功能描述
1. checkCardReaderValid 检查读卡器是否可以正常工作
2. getImagePath 获取保存照片文件的路径
3. getPersonMsg 获取身份证的基本信息
4. getNewAddress 获取更新地址信息
5. resetCardReader 复位读卡器

4.API详细说明
4.1 checkCardReaderValid

检查读卡器是否可以正常工作。
char* checkCardReaderValid (int iPort);

参数说明:
int iPort
0为自动检测
1-16为串口1-16口
1001-1016为USB1-16口

返回值:字符串
第一个字符为’1’,表示读卡器可以正常工作;
第一个字符为’0’,表示检测失败;
第一个字符后紧接检测成功或失败的中文描述。

4.2 getImagePath

从card.ini中获取获取保存照片文件的路径。
char* getImagePath ();

参数说明:无

返回值:字符串
保存照片文件目录的路径。

4.3 getPersonMsg

读取身份证的基本信息。
char* getPersonMsg (int iPort);

参数说明:
int iPort
0为自动检测
1-16为串口1-16口
1001-1016为USB1-16口


返回值:字符串
第一个字符为’1’,表示成功获取到身份证信息,其后紧接身份证信息;
第一个字符为’0’,表示获取身份证信息失败,其后紧接失败原因的中文描述;
身份证信息包括:姓名|性别|民族|出生年月(格式为YYYY-MM-DD)|身份证号码|地址|签发机构|有效起始时间(YYYY-MM-DD)|有效终止时间(YYYY-MM-DD或长期),信息项以字符’|’分隔。
4.4 getNewAddress

读取更新地址信息。
char* getNewAddress (int iPort);

参数说明:
int iPort
0为自动检测
1-16为串口1-16口
1001-1016为USB1-16口

返回值:字符串
第一个字符为’1’,表示成功获取到更新地址信息,其后紧接地址信息;
第一个字符为’0’,表示获取更新地址信息失败,其后紧接失败原因的中文描述;
4.5 resetCardReader

复位读卡器。当身份证停留在身份证读卡器的有效阅读范围,此时而需要连续读取身份证信息或更新地址信息,则需要在两次读取操作之间插入复位操作。
Void resetCardReader (int iPort);

参数说明:
int iPort
0为自动检测
1-16为串口1-16口
1001-1016为USB1-16口返回值:无

4.6 getID
读机器编号。
int __stdcall getID(char* pszBuf, int iType)
参数说明:
char* pszBuf 缓冲区,保存返回的机器编号,长度至少为11字节
int iType 端口
0为自动检测
1-16为串口1-16口
1001-1016为USB1-16口

返回值:int
0表示正确,1表示出错。
5.API调用说明
5.1 API调用顺序
请首先调用检测读卡器接口checkCardReaderValid (),读卡器接口会自动检测当前设备所指定的端口。成功后再调用读取身份证信息接口getPersonMsg()。
5.2 照片说明
照片文件命名规则是:P+身份证号码.bmp。
默认的照片保存路径为当前运行路径下的bmp子目录。
也可通过配置文件CARDII.INI指定保存路径,CARDII.INI放置在当前运行目录下,内容如下,即照片的保存路径为d:\CardII\BMP目录。
[Save]
SavePath=d:\CardII\BMP\
5.3 示例代码

VC示例代码:

变量定义:
static HINSTANCE DLLInst = NULL;
函数指针定义:
char* (__stdcall *checkCardReaderValid)(int iPort);
动态载入:
DLLInst = LoadLibrary(“cardapi.dll”);
checkCardReaderValid=(char* (__stdcall *)(int ))GetProcAddress((HMODULE)DLLInst, " checkCardReaderValid ");
使用函数:
ret = checkCardReaderValid(0);
使用后释放:
if( DLLInst != NULL )
FreeLibrary(DLLInst);

397

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧