| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- Public Class Form1
- Dim status As New String(status, 20)
- Dim cardtype As Integer
- Dim snr(4) As Byte
- Dim snr1 As New String(snr1, 8)
- Dim data As New String(data, 20)
- Dim databuff As New String(databuff, 20)
- Dim keyA(6) As Byte
- Dim keyB(6) As Byte
- Dim key As String
- Dim sector As Integer
- Dim resetData(50) As Byte
- Dim reset_data As New String(reset_data, 50)
- Dim sendcmd(9) As Byte
- Dim returnData(255) As Byte
- Dim return_Data As New String(return_Data, 500)
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- icdev = rf_init(0, 9600) '0代表端口号1,1代表端口号2 。。。
- If (icdev > 0) Then
- st = rf_get_status(icdev, status) 'rf_init返回值大于0不一定是连接到读写器,可以再对读写器操作来判断读写器是否连接,如读取硬件版本号
- If (st = 0) Then
- List1.Items.Add(status)
- End If
- st = rf_beep(icdev, 30)
- List1.Items.Add("rf_init success")
- Else
- List1.Items.Add("rf_init error" + Str(icdev))
- End If
- key = "ffffffffffff"
- For Me.sector = 0 To 15
- st = rf_load_key_hex(icdev, 0, sector, key) '加载密码,此密码是用来验证卡片的密码
- If (st <> 0) Then
- List1.Items.Add(Str(sector) + " rf_load_key_hex error")
- 'Else
- 'List1.Items.Add("rf_losd_key_hex ok")
- End If
- Next
- End Sub
- Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
- st = rf_card(icdev, 1, snr(0)) '寻卡
- If (st = 0) Then
- hex_a(snr(0), snr1, 4) '将卡号转换为16进制字符串
- List1.Items.Add("rf_card ok " + snr1)
- Else
- List1.Items.Add("rf_card error")
- End If
- sector = 2
- st = rf_authentication(icdev, 0, sector) '验证密码
- If (st = 0) Then
- List1.Items.Add("rf_authentication ok")
- Else
- List1.Items.Add("rf_authentication error")
- End If
- data = "深圳明华澳汉科技"
- st = rf_write(icdev, sector * 4, data) '写数据
- If (st = 0) Then
- List1.Items.Add("rf_write ok")
- Else
- List1.Items.Add("rf_write error")
- End If
- st = rf_read(icdev, sector * 4, databuff) '读数据
- If (st = 0) Then
- List1.Items.Add("rf_read ok" + databuff)
- Else
- List1.Items.Add("rf_read error")
- End If
- keyA(0) = &HFF
- keyA(1) = &HFF
- keyA(2) = &HFF
- keyA(3) = &HFF
- keyA(4) = &HFF
- keyA(5) = &HFF
- keyB(0) = &HFF
- keyB(1) = &HFF
- keyB(2) = &HFF
- keyB(3) = &HFF
- keyB(4) = &HFF
- keyB(5) = &HFF
- st = rf_changeb3(icdev, sector, keyA(0), 0, 0, 0, 1, 0, keyB(0)) '更改密码
- If (st = 0) Then
- List1.Items.Add("rf_changeb3 ok")
- Else
- List1.Items.Add("rf_changeb3 error")
- End If
- End Sub
- Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
- sendcmd(0) = 0
- sendcmd(1) = 0
- sendcmd(2) = 0 '前三个字节可以默认为0
- sendcmd(3) = &H5 '第四个字节是命令的长度
- sendcmd(4) = 0
- sendcmd(5) = &H84
- sendcmd(6) = 0
- sendcmd(7) = 0
- sendcmd(8) = &H8
- st = rf_card(icdev, 1, snr(0)) '寻卡
- If (st = 0) Then
- hex_a(snr(0), snr1, 4)
- List1.Items.Add("rf_card ok " + snr1)
- Else
- List1.Items.Add("rf_card error")
- End If
- st = rf_pro_rst(icdev, resetData(0)) '复位
- If (st = 0) Then
- hex_a(resetData(0), reset_data, resetData(0))
- List1.Items.Add("rf_pro_rst ok " + reset_data)
- Else
- List1.Items.Add("rf_pro_rst error")
- End If
- st = rf_pro_trn(icdev, sendcmd(0), returnData(0)) '发送命令
- If (st = 0) Then
- hex_a(returnData(0), return_Data, returnData(3) + 4) '返回的数据前三个字节无用,第四个字节为返回数据的长度,
- List1.Items.Add("rf_pro_trn ok " + return_Data)
- Else
- List1.Items.Add("rf_pro_trn error")
- End If
- End Sub
- Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
- st = rf_exit(icdev)
- If (st = 0) Then
- List1.Items.Add("断开连接")
- End If
- End Sub
- End Class
|