📄 readme.txt
字号:
1、先安装USB 发卡机驱动程序,再调试OCX控件。
2、注册控件:先将USB_Reader_T.ocx文件COPY到C:\windows\system32\ 然后在[程序]-[运行]输入: regsvr32 C:\windows\system32\USB_Reader_T.ocx 注册控件
3、DEMO程序是VB环境下调试通过,相关详细说明均在DEMO程序中有说明
Dim RW_TypeMF1 As Byte
Dim RW_Type4442 As Byte
Dim RW_TypeT5557 As Byte
Dim sData As String
Dim sLen, i As Integer
Const SS = "没有放卡或卡片密码验证错误!"
Private Sub Command1_Click()
Dim Ic_BuffA(39) As Byte
Dim Model, Name, Ver As String
If SaryUsbReader1.SearchReader(Ic_BuffA) Then
For i = 1 To 30
If Ic_BuffA(i) <> 0 Then Name = Name + Chr(Ic_BuffA(i))
Next
Model = Chr(Ic_BuffA(0))
For i = 31 To 39
If Ic_BuffA(i) <> 0 Then Ver = Ver + Chr(Ic_BuffA(i))
Next
End If
Text1 = Name
Label2 = "发卡机类型:" & Model & " 发卡机软件版本:" & Ver
End Sub
Private Sub Command11_Click()
Dim Ic_BuffA(39) As Byte
If Com_Block.Text = "03" Then
MsgBox "试图将未知格式数据写入密码区,将破坏卡片,按确定退出!"
Exit Sub
End If
If SaryUsbReader1.WriteCard_MF1(RW_TypeMF1, Com_Sector.Text + Com_Block.Text, Txt_KeyA.Text, Text2.Text, Ic_BuffA) Then
MsgBox "写卡成功"
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command12_Click()
Dim Ic_BuffA(39) As Byte
If SaryUsbReader1.ReadCard_MF1(RW_TypeMF1, Com_Sector.Text + Com_Block.Text, Txt_KeyA.Text, Ic_BuffA) Then
sData = ""
For i = 0 To 15 '+ 4'后面4个字节是ID号
sData = sData & Right$("00" & Hex(Ic_BuffA(i)), 2)
Next
Text2.Text = sData
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command13_Click()
Dim ErrNum As Byte
If Val(Txt_TotalByte.Text) > 40 Then Txt_TotalByte.Text = 40 '最多40个字节
If Val(Txt_BeginAddr.Text) > 255 Then Txt_BeginAddr.Text = 255
If SaryUsbReader1.WriteCard_SLE4442(Asc("C"), Right(100 & Hex(Txt_BeginAddr), 2) & Right(100 & Hex(Txt_TotalByte), 2), Txt_KeyA_4442, Txt_KeyB_4442, ErrNum) Then
MsgBox "卡片密码修改成功!"
Txt_Num = ErrNum
Else
MsgBox SS
End If
End Sub
Private Sub Command14_Click()
Dim ErrNum As Byte
If Val(Txt_TotalByte.Text) > 40 Then Txt_TotalByte.Text = 40 '最多40个字节
If Val(Txt_BeginAddr.Text) > 255 Then Txt_BeginAddr.Text = 255
If Val(Txt_BeginAddr) + Val(Txt_TotalByte) > 256 Then Exit Sub
If SaryUsbReader1.WriteCard_SLE4442(RW_Type4442, Right(100 & Hex(Txt_BeginAddr), 2) & Right(100 & Hex(Txt_TotalByte), 2), Txt_KeyA_4442, Text5, ErrNum) Then
Txt_Num = ErrNum
MsgBox "写卡成功"
Else
Txt_Num = ErrNum
MsgBox SS
End If
End Sub
Private Sub Command15_Click()
Dim Ic_BuffA(40) As Byte
If Val(Txt_TotalByte.Text) > 40 Then Txt_TotalByte.Text = 40 '最多40个字节
If Val(Txt_BeginAddr.Text) > 255 Then Txt_BeginAddr.Text = 255
If Val(Txt_BeginAddr) + Val(Txt_TotalByte) > 256 Then Exit Sub
If SaryUsbReader1.ReadCard_SLE4442(RW_Type4442, Right(100 & Hex(Txt_BeginAddr), 2) & Right(100 & Hex(Txt_TotalByte), 2), Ic_BuffA) Then
sData = ""
For i = 0 To Val(Txt_TotalByte) - 1
sData = sData & Right$("00" & Hex(Ic_BuffA(i)), 2)
Next
Text5.Text = sData
Txt_Num = Ic_BuffA(40)
Else
Txt_Num = Ic_BuffA(40)
MsgBox SS
End If
End Sub
Private Sub Command2_Click()
Dim Ic_BuffA(39) As Byte
sData = Left(Text3 & String(56, "0"), 56)
sLen = Len(Text3)
For i = 1 To 27
Ic_BuffA(i - 1) = Val("&H" & Mid(sData, i * 2 - 1, 2))
Next
If SaryUsbReader1.WriteCard(Ic_BuffA) Then
MsgBox "写卡成功"
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command3_Click()
Dim Ic_BuffA(39) As Byte
If SaryUsbReader1.ReadCard(Ic_BuffA) Then
sData = ""
For i = 0 To 27
sData = sData & Right$("00" & Hex(Ic_BuffA(i)), 2)
Next
Text3 = sData
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command4_Click()
Dim Ic_BuffA(39) As Byte
If SaryUsbReader1.ReadCard_EID(Ic_BuffA) Then
sData = "原始数据:"
For i = 0 To 4
sData = sData & Right("00" & Hex(Ic_BuffA(i)), 2)
Next
sData = sData & " 普通码:"
For i = 5 To 14
sData = sData & Chr(Ic_BuffA(i))
Next
sData = sData & " 三五码:"
For i = 15 To 22
sData = sData & Chr(Ic_BuffA(i))
If i = 17 Then sData = sData & ","
Next
MsgBox sData
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command5_Click()
Dim Ic_BuffA(39) As Byte
If SaryUsbReader1.ReadCard_TID(Ic_BuffA) Then
sData = "原始数据:"
For i = 0 To 4
sData = sData & Right("00" & Hex(Ic_BuffA(i)), 2)
Next
sData = sData & " 普通码:"
For i = 5 To 14
sData = sData & Chr(Ic_BuffA(i))
Next
sData = sData & " 三五码:"
For i = 15 To 22
sData = sData & Chr(Ic_BuffA(i))
If i = 17 Then sData = sData & ","
Next
MsgBox sData
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command6_Click()
Dim Ic_BuffA(39) As Byte
If SaryUsbReader1.WriteCard_MF1(Asc("C"), Com_Sector.Text + "03", Txt_KeyA.Text, Txt_KeyB.Text, Ic_BuffA) Then
MsgBox "密码修改成功!"
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command7_Click()
Dim Ic_BuffA(39) As Byte
sData = Text1
sLen = Len(Text1)
For i = 1 To sLen
Ic_BuffA(i - 1) = Asc(Mid(sData, i, 1))
Next
If SaryUsbReader1.SetReaderName(Ic_BuffA) Then
MsgBox "设置成功"
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Command8_Click()
Dim Ic_BuffA(39) As Byte
If SaryUsbReader1.ReadCard_MF1_ID(RW_TypeMF1, Ic_BuffA) Then
sData = "原始数据:"
For i = 0 To 4
sData = sData & Right("00" & Hex(Ic_BuffA(i)), 2)
Next
sData = sData & " 普通码:"
For i = 5 To 14
sData = sData & Chr(Ic_BuffA(i))
Next
sData = sData & " 三五码:"
For i = 15 To 22
sData = sData & Chr(Ic_BuffA(i))
If i = 17 Then sData = sData & ","
Next
MsgBox sData
Else
If Ic_BuffA(39) = &H55 Then MsgBox SS
End If
End Sub
Private Sub Form_Load()
RW_TypeMF1 = Asc("P")
RW_Type4442 = Asc("P")
RW_TypeT5557 = Asc("P")
SaryUsbReader1.EntryMonitor
End Sub
Private Sub Form_Unload(Cancel As Integer)
SaryUsbReader1.ExitMonitor
End Sub
Private Sub SaryUsbReader1_iNotifyRoutineA(iEventStatus As Long)
If iEventStatus = 0 Then Shape1.BackColor = vbRed
If iEventStatus = 3 Then Shape1.BackColor = vbGreen
End Sub
Private Sub OP_Sound4442_Click()
If OP_Sound4442 = vbChecked Then RW_Type4442 = Asc("P")
If OP_Sound4442 = vbUnchecked Then RW_Type4442 = Asc("L")
End Sub
Private Sub Op_SoundMF1_Click()
If Op_SoundMF1 = vbChecked Then RW_TypeMF1 = Asc("P")
If Op_SoundMF1 = vbUnchecked Then RW_TypeMF1 = Asc("L")
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -