找回密码
 加入
搜索
查看: 3919|回复: 3

[系统综合] 求教,如何使用磁条读卡器DLL库?[已解决]

[复制链接]
发表于 2012-2-14 17:42:54 | 显示全部楼层 |阅读模式
本帖最后由 曼菲士 于 2012-2-15 16:30 编辑

cktool.DLL说明

  cktool.DLL为 FOR WINDOWS 95/98/Me/2000/XP 的 32 位动态链接库,用来控制 GHE715磁卡机 进行读写磁卡操作, 内含函数Wcard(),Rcard()


1) int Wcard(char *COMP,unsigned char TRACK,char *DATA1,char *DATA2,char *DATA3)

功能:控制磁卡机进行写磁卡操作,按ESC键可退出.

返回: 整型
   >=0: 写卡正确
   -1:  所选串行口打不开
   -2,-3: 串口设置错误
   -4:  写卡错误
   -5:  用户 ESC 退出
   -6: 1道写错
   -7: 2道写错
   -8: 3道写错
   -12:1、2道都写错
   -13:1、3道都写错
   -23:2、3道都写错
   -123:1、2、3道都写错

参数:
COMP: 字符串,用来设置串口.
       格式:"COMN" COMN=COM1,COM2.
       如:"COM2" 表示串口2.

TRACK:读磁道标记,为16进制数
        0x1:写1道
        0x2:写2道
        0x3:写3道
        0x23:2、3道同时写
        0x13:1、3道同时写
        0x12:1、2道同时写
        0x123:1、2、3道同时写

DATA1: 字符串,所要向卡上写的1道数据.
DATA2: 字符串,所要向卡上写的2道数据.
DATA3: 字符串,所要向卡上写的3道数据.
      
       二道数据只可为数字,与3道同时写时最多37个,单独写时最多107个       
       三道数据只可为数字,最多107个
      

2) int Rcard(char *COMP,unsigned char TRACK,char *DBUF1,char *DBUF2,char *DBUF3)

功能:控制磁卡机进行读磁卡操作,按ESC键可退出.

返回: 整型
   >=0: 读卡正确.
   -1:  所选串行口打不开
   -2,-3: 串口设置错误
   -4:  读卡错误
   -5:  用户 ESC 退出
   -6: 1道读错
   -7: 2道读错
   -8: 3道读错
   -12:1、2道都读错
   -13:1、3道都读错
   -23:2、3道都读错
   -123:1、2、3道都读错
参数:
COMP: 字符串,用来设置串口.
       格式:"COMN" COMN=COM1,COM2.
       如:"COM2" 表示串口2.


TRACK:读磁道标记,为16进制数
        0x1:读1道
        0x2:读2道
        0x3:读3道
        0x23:2、3道同时读
        0x13:1、3道同时读
        0x12:1、2道同时读
        0x123:1、2、3道同时读
DBUF1: 字符串,卡上的1道数据..
DBUF2: 字符串,卡上的2道数据.
DBUF3: 字符串,卡上的3道数据.
传入时,DBUF1和DBUF2和DBUF3的可操作长度应>110

当用VB调用时,如下声明      
Public Declare Function Wcard Lib "cktool.dll" (ByVal com As String, ByVal track As Byte,ByVal data1 As String,ByVal data2 As String,ByVal data3 As String) As Long
Public Declare Function Rcard Lib "cktool.dll" (ByVal com As String, ByVal track As Byte,ByVal data1 As String,ByVal data2 As String,ByVal data3 As String) As Long

当用DELPHI调用时
function Wcard(com: pchar;track:char;data1:pchar;data2:pchar;data3:pchar):longint;stdcall;
far;external 'cktool.dll'name 'Wcard';
function Rcard(com: pchar;track:char;data1:pchar;data2:pchar;data3:pchar):longint;stdcall;
far;external 'cktool.dll'name 'Rcard';





最近想弄这磁条读卡器,看了半天厂家开发包说明,就是不会转换为AutoIT程序。哪位高手帮转转吧,造福大家。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-2-14 19:58:57 | 显示全部楼层
$dll1=DllCall("cktool.dll","long","Rcard","str","COM1","byte",0x123,"str","data1字符串","str","data2字符串","str","data3字符串")
MsgBox(0,@error,$dll1[0])
$dll2=DllCall("cktool.dll","long","Wcard","str","COM1","byte",0x123,"str","data1字符串","str","data2字符串","str","data3字符串")
MsgBox(0,@error,$dll2[0])


没有磁卡机 按VB导出函数来写的 不知道对不对

评分

参与人数 1金钱 +40 贡献 +10 收起 理由
曼菲士 + 40 + 10 可以用,谢谢!

查看全部评分

 楼主| 发表于 2012-2-15 09:25:23 | 显示全部楼层
本帖最后由 曼菲士 于 2012-2-15 09:33 编辑



#include<array.au3>

$dll1=DllCall("cktool.dll","long","Rcard","str","COM3","byte",0x2,"str","data1字符串","str","data2字符串","str","data3字符串")
_ArrayDisplay($dll1)

谢谢,测试可用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2018-11-11 11:39:09 | 显示全部楼层
谢谢分享,学习学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 19:50 , Processed in 0.086085 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表