📄 formx1.frm
字号:
VERSION 5.00
Object = "{D95CB779-00CB-4B49-97B9-9F0B61CAB3C1}#3.1#0"; "Biokey.ocx"
Begin VB.Form Form1
ClientHeight = 5280
ClientLeft = 420
ClientTop = 1050
ClientWidth = 9060
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
LinkTopic = "Form1"
ScaleHeight = 352
ScaleMode = 3 'Pixel
ScaleWidth = 604
Begin ZKFPEngXControl.ZKFPEngX ZKFPEngX1
Left = 5520
Top = 1560
EnrollCount = 3
SensorIndex = 0
Threshold = 10
VerTplFileName = ""
RegTplFileName = ""
OneToOneThreshold= 10
Active = 0 'False
IsRegister = 0 'False
EnrollIndex = 0
SensorSN = ""
FPEngineVersion = "3.1.00 For 1:N"
ImageWidth = 0
ImageHeight = 0
SensorCount = 0
TemplateLen = 1152
EngineValid = 0 'False
End
Begin VB.Frame FrameCommands
Height = 5175
Left = 0
TabIndex = 0
Top = 0
Width = 4815
Begin VB.CommandButton cmdEnroll
Caption = "登记指纹"
Height = 375
Left = 120
TabIndex = 12
Top = 2520
Width = 1695
End
Begin VB.CommandButton cmdVerify
Caption = "比对指纹(1:1)"
Height = 375
Left = 120
TabIndex = 11
Top = 3120
Width = 1695
End
Begin VB.CommandButton cmdIdentify
Caption = "比对指纹(1:N)"
Height = 375
Left = 2160
TabIndex = 10
Top = 3120
Width = 1695
End
Begin VB.TextBox TextFingerName
Height = 390
Left = 3000
TabIndex = 9
Text = "fingerprint1"
Top = 2520
Width = 1575
End
Begin VB.CommandButton cmdInit
Caption = "初始化"
Height = 375
Left = 120
TabIndex = 8
Top = 1200
Width = 1695
End
Begin VB.TextBox TextSensorCount
Enabled = 0 'False
Height = 270
Left = 1560
TabIndex = 7
Top = 360
Width = 975
End
Begin VB.TextBox TextSensorIndex
Height = 270
Left = 3600
TabIndex = 6
Top = 360
Width = 855
End
Begin VB.TextBox TextSensorSN
Enabled = 0 'False
Height = 270
Left = 1560
TabIndex = 5
Top = 720
Width = 2895
End
Begin VB.Frame Frame2
Caption = " 图像格式 "
Height = 615
Left = 2040
TabIndex = 2
Top = 1680
Width = 1935
Begin VB.OptionButton OptionBmp
Caption = "BMP"
Height = 255
Left = 120
TabIndex = 4
Top = 240
Value = -1 'True
Width = 735
End
Begin VB.OptionButton OptionJpg
Caption = "JPEG"
Height = 255
Left = 960
TabIndex = 3
Top = 240
Width = 855
End
End
Begin VB.CommandButton cmdSaveImage
Caption = "保存指纹图像"
Height = 375
Left = 120
TabIndex = 1
Top = 1800
Width = 1695
End
Begin VB.TextBox TextWrite
Height = 270
Left = 1440
TabIndex = 19
Text = "ZKSoftware Biokey SDK."
Top = 4560
Width = 3015
End
Begin VB.TextBox TextRead
Enabled = 0 'False
Height = 270
Left = 1440
TabIndex = 20
Top = 4080
Width = 3015
End
Begin VB.CommandButton cmdReadMemory
Caption = "读内存"
Height = 375
Left = 240
TabIndex = 21
Top = 4080
Width = 1095
End
Begin VB.CommandButton cmdSaveMemory
Caption = "写内存"
Height = 375
Left = 240
TabIndex = 22
Top = 4560
Width = 1095
End
Begin VB.Frame Frame3
Caption = "加密狗演示"
Height = 1215
Left = 120
TabIndex = 23
Top = 3840
Width = 4455
End
Begin VB.Label Label1
Caption = "指纹名称:"
Height = 255
Left = 2040
TabIndex = 18
Top = 2640
Width = 975
End
Begin VB.Label StatusBar
Height = 255
Left = 120
TabIndex = 17
Top = 4200
Width = 4455
End
Begin VB.Label Label3
Height = 255
Left = 2280
TabIndex = 16
Top = 1200
Width = 975
End
Begin VB.Label Label2
Caption = "指纹仪个数:"
Height = 255
Left = 480
TabIndex = 15
Top = 360
Width = 1095
End
Begin VB.Label Label4
Caption = "当前使用:"
Height = 255
Left = 2640
TabIndex = 14
Top = 360
Width = 975
End
Begin VB.Label Label5
Caption = "指纹仪序列号:"
Height = 255
Left = 240
TabIndex = 13
Top = 720
Width = 1335
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim FTempLen As Integer
Dim FRegTemplate As Variant
Dim FingerCount As Long
Dim fpcHandle As Long
Dim FFingerNames() As String
Dim FMatchType As Integer
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Private Sub cmdEnroll_Click()
If Trim(TextFingerName.Text) = "" Then
MessageBox 0, "请输入指纹名称标识!", "错误", 0
Exit Sub
End If
ZKFPEngX1.BeginEnroll
StatusBar.Caption = "开始登记"
End Sub
Private Sub cmdIdentify_Click()
If ZKFPEngX1.IsRegister Then
ZKFPEngX1.CancelEnroll
End If
StatusBar.Caption = "开始比对(1:N)"
FMatchType = 2
End Sub
Private Sub cmdInit_Click()
If ZKFPEngX1.InitEngine = 0 Then
MessageBox 0, "初始化成功!", "提示信息", 0
StatusBar.Caption = "指纹仪连接"
TextSensorCount.Text = ZKFPEngX1.SensorCount & ""
TextSensorIndex.Text = ZKFPEngX1.SensorIndex & ""
TextSensorSN.Text = ZKFPEngX1.SensorSN
cmdInit.Enabled = False
FMatchType = 0
End If
End Sub
Private Sub cmdReadMemory_Click()
Dim i, p1 As Long, p2 As Long
Dim p As Variant
Dim s As String
p1 = 0
p2 = 23
ZKFPEngX1.DongleMemRead p1, p2, p
s = ""
For i = LBound(p) To UBound(p)
s = s & Chr(p(i))
Next
TextRead.Text = s
End Sub
Private Sub cmdSaveMemory_Click()
Dim p1 As Long, p2 As Long
Dim p() As Byte
Dim i As Integer
Dim s As String
p1 = 0
p2 = Len(TextWrite.Text)
s = TextWrite.Text
ReDim p(Len(s))
For i = 0 To Len(s) - 1
p(i) = Asc(Mid(s, i + 1))
Next
ZKFPEngX1.DongleMemWrite p1, p2, p
End Sub
Private Sub cmdSaveImage_Click()
Dim sFileName As String
sFileName = "C:\Fingerprint"
If OptionBmp.Value Then
ZKFPEngX1.SaveBitmap sFileName & ".bmp"
Else
ZKFPEngX1.SaveJPG sFileName + ".jpg"
End If
MessageBox 0, "文件保存成功(" + sFileName + ")!", "", 0
End Sub
Private Sub cmdVerify_Click()
If ZKFPEngX1.IsRegister Then
ZKFPEngX1.CancelEnroll
End If
StatusBar.Caption = "开始比对(1:1)"
FMatchType = 1
End Sub
Private Sub Form_Load()
FingerCount = 0
fpcHandle = ZKFPEngX1.CreateFPCacheDB
End Sub
Private Sub Form_Unload(Cancel As Integer)
ZKFPEngX1.FreeFPCacheDB (fpcHandle)
End Sub
Private Sub ZKFPEngX1_OnCapture(ByVal ActionResult As Boolean, ByVal ATemplate As Variant)
Dim fi As Long, i As Long
Dim Score As Long, ProcessNum As Long
Dim RegChanged As Boolean
StatusBar.Caption = "取得指纹特征"
If FMatchType = 1 Then '1:1
If ZKFPEngX1.VerFinger(FRegTemplate, ATemplate, False, RegChanged) Then
MessageBox 0, "指纹比对成功!", "信息提示", 0
Else
MessageBox 0, "指纹比对失败!", "信息提示", 0
End If
'If ZKFPEngX1.VerRegFingerFile("c:\fingerprint.tpl", ATemplate) Then
' MessageBox 0, "文件指纹比对成功!", "信息提示", 0
'Else
' MessageBox 0, "文件指纹比对失败!", "信息提示", 0
'End If
ElseIf FMatchType = 2 Then '1:N
Score = 8
fi = ZKFPEngX1.IdentificationInFPCacheDB(fpcHandle, ATemplate, Score, ProcessNum)
If fi = -1 Then
MessageBox 0, "指纹比对失败!", "信息提示", 0
Else
MessageBox 0, "指纹比对成功!Name=" & FFingerNames(fi) & " Score = " & Score & " Processed Number = " & ProcessNum, "信息提示", 0
End If
End If
End Sub
Private Sub ZKFPEngX1_OnEnroll(ByVal ActionResult As Boolean, ByVal ATemplate As Variant)
Dim i As Long
Dim sTemp As String
If Not ActionResult Then
MessageBox 0, "指纹登记失败!", "警告", 0
Else
MessageBox 0, "指纹登记成功!", "信息", 0
FRegTemplate = ATemplate
ZKFPEngX1.SaveTemplate "c:\fingerprint.tpl", ATemplate
ZKFPEngX1.EncodeTemplate ATemplate, sTemp
ZKFPEngX1.AddRegTemplateFileToFPCacheDB fpcHandle, FingerCount, "c:\fingerprint.tpl"
ReDim Preserve FFingerNames(FingerCount + 1)
FFingerNames(FingerCount) = TextFingerName.Text
FingerCount = FingerCount + 1
End If
End Sub
Private Sub ZKFPEngX1_OnFeatureInfo(ByVal AQuality As Long)
Dim sTemp As String
sTemp = ""
If ZKFPEngX1.IsRegister Then
sTemp = "登记状态: 还需要按压" & ZKFPEngX1.EnrollIndex & "次手指!"
End If
sTemp = sTemp & " 指纹质量"
If AQuality <> 0 Then
sTemp = sTemp & "不合格: " & AQuality
Else
sTemp = sTemp & "合格"
End If
StatusBar.Caption = sTemp
End Sub
Private Sub ZKFPEngX1_OnImageReceived(AImageValid As Boolean)
ZKFPEngX1.PrintImageAt hDC, FrameCommands.Width + 6, FrameCommands.Top, ZKFPEngX1.ImageWidth, ZKFPEngX1.ImageHeight
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -