コード例 #1
0
ファイル: FingerMainForm.cs プロジェクト: ssor/fingerPointSys
 private void 断开指纹仪DToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.EndEngine();
     this.连接指纹仪CToolStripMenuItem.Enabled = true;
     this.断开指纹仪DToolStripMenuItem.Enabled = false;
     this.sensorConnectionState.Text      = "未连接";
 }
コード例 #2
0
 //Comienzo de la inscripción de huellas dactilares
 private void EnrollFingerPrint(object sender, EventArgs e)
 {
     ZKFPEngX1.CancelEnroll();
     ZKFPEngX1.EnrollCount = 3;
     ZKFPEngX1.BeginEnroll();
     ShowHintInfo("Inicio de Registro");
 }
コード例 #3
0
ファイル: FingerMainForm.cs プロジェクト: ssor/fingerPointSys
        void FingerMainForm_Shown(object sender, EventArgs e)
        {
            //连接指纹采集器
            long nR = ZKFPEngX1.InitEngine();

            if (nR == 0)
            {
                //FMatchType = 2;
                ZKFPEngX1.FPEngineVersion = "9";
                //创建指纹识别高速缓冲空间 并返回其句柄
                //fpcHandle = ZKFPEngX1.CreateFPCacheDB();
                //Program.g_zkfp_handle = fpcHandle;// 与公共引用连接
                ZKFPEngX1.EnrollCount                = 3;
                this.sensorConnectionState.Text      = "已连接";
                this.连接指纹仪CToolStripMenuItem.Enabled = false;
                this.断开指纹仪DToolStripMenuItem.Enabled = true;
            }
            else
            {
                switch (nR)
                {
                case 1:
                    this.sensorConnectionState.Text = "指纹识别驱动程序加载失败";
                    break;

                case 2:
                    this.sensorConnectionState.Text = "没有连接指纹识别仪";
                    break;

                case 3:
                    this.sensorConnectionState.Text = "指定指纹仪不存在";
                    break;
                }
            }
        }
コード例 #4
0
        //初始化连接  并显示相关信息到界面
        private void btnInit_Click(object sender, EventArgs e)
        {
            long nR = ZKFPEngX1.InitEngine();

            if (nR == 0)
            {
                btnInit.Enabled = false;
                FMatchType      = 2;
                ShowHintInfo("Sensor connected");
                if (Radio9.Checked)
                {
                    ZKFPEngX1.FPEngineVersion = "9";
                }
                else
                {
                    ZKFPEngX1.FPEngineVersion = "10";
                }
                //创建指纹识别高速缓冲空间 并返回其句柄
                fpcHandle             = ZKFPEngX1.CreateFPCacheDB();
                EDSensorNum.Text      = Convert.ToString(ZKFPEngX1.SensorCount);
                EDSensorIndex.Text    = Convert.ToString(ZKFPEngX1.SensorIndex);
                EDSensorSN.Text       = ZKFPEngX1.SensorSN;
                ZKFPEngX1.EnrollCount = 3;
                button1.Enabled       = true;
            }
            else
            {
                ShowHintInfo("Failed to connecte sensor");
            }
        }
コード例 #5
0
        private void btnDelFingerPrint_Click(object sender, EventArgs e)
        {
            if (_modoCargaImagen == Common.ModoCargaImagen.DesdeArchivo)
            {
                pbFingerPrint.Image = null;
            }
            else
            {
                if (ZKFPEngX1.IsRegister)
                {
                    FingerPrintImageDisposing();
                    ZKFPEngX1.CancelEnroll();
                    ZKFPEngX1.EnrollCount = 3;
                    ZKFPEngX1.BeginEnroll();
                    lblresult.Text = "Sensor de Huella conectado y Listo para iniciar registro.";
                    ShowHintImage(3);
                }
                else
                {
                    DialogResult rpta = MessageBox.Show("La huella ya esta verificada correctamente. \n¿ Desea volver a realizar el registro ? ", "ZK4500 Finger Print ", MessageBoxButtons.YesNo);

                    if (rpta == DialogResult.Yes)
                    {
                        FingerPrintImageDisposing();
                        ZKFPEngX1.CancelEnroll();
                        ZKFPEngX1.EnrollCount = 3;
                        ZKFPEngX1.BeginEnroll();
                        lblresult.Text = "Sensor de Huella conectado y Listo para iniciar registro.";
                        ShowHintImage(3);
                    }
                }

                //ZKFPEngX1.BeginCapture();
            }
        }
コード例 #6
0
 //开始登记指纹
 private void btnEnroll_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.CancelEnroll();
     ZKFPEngX1.EnrollCount = 3;
     ZKFPEngX1.BeginEnroll();
     ShowHintInfo("Begin Register");
 }
コード例 #7
0
        private void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            string stmp     = "";
            string Template = ZKFPEngX1.GetTemplateAsString();
            bool   ddd      = false;

            if (_FingerPrintImage == null)
            {
                MessageBox.Show("El trabajador no tiene registrado su huella digital", "!INFORMACIÓN!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            stmp = System.Convert.ToBase64String(_FingerPrintImage);

            if (ZKFPEngX1.VerFingerFromStr(ref Template, stmp, false, ref ddd))
            {
                ShowHintImage(3);
                MessageBox.Show("Huella dáctilar correcta", "!INFORMACIÓN!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                this.DialogResult = DialogResult.OK;
            }
            else
            {
                ShowHintImage(3);
                MessageBox.Show("Huella dáctilar incorrecta. Vuelva a intentar", "!ERROR DE VALIDACIÓN!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                pbFingerPrint.Image = null;
                //this.DialogResult = DialogResult.Cancel;
            }
        }
コード例 #8
0
        private void btnDeviceConnect_Click(object sender, EventArgs e)
        {
            // prcDataInsert();
            Chk = 0;

            long nR = ZKFPEngX1.InitEngine();

            if (nR == 0)
            {
                EDSensorSN.Text = ZKFPEngX1.SensorSN;
                prcFingerIssuerSNCheck(EDSensorSN.Text);

                if (Chk == 0)
                {
                    btnDeviceConnect.Enabled = false;
                    FMatchType = 2;
                    if (Radio9.Checked)
                    {
                        ZKFPEngX1.FPEngineVersion = "9";
                    }
                    else
                    {
                        ZKFPEngX1.FPEngineVersion = "10";
                    }

                    fpcHandle          = ZKFPEngX1.CreateFPCacheDB();
                    EDSensorNum.Text   = Convert.ToString(ZKFPEngX1.SensorCount);
                    EDSensorIndex.Text = Convert.ToString(ZKFPEngX1.SensorIndex);
                    ////EDSensorSN.Text = ZKFPEngX1.SensorSN;

                    ShowHintInfo("Sensor connected");

                    ZKFPEngX1.EnrollCount = 3;

                    if (ZKFPEngX1.IsRegister)
                    {
                        ZKFPEngX1.CancelEnroll();
                    }

                    FAutoIdentify = false;
                    ZKFPEngX1.SetAutoIdentifyPara(FAutoIdentify, fpcHandle, 8);
                    ShowHintInfo("Begin verification. Please finger touch in device.");
                    FMatchType = 2;
                    lvlDataMatchImg.Visible   = true;
                    lvlDataMatchImg.Text      = "Please Press Finger";
                    lvlDataMatchImg.ForeColor = Color.Blue;
                    btnCancel.Enabled         = true;
                }
                else
                {
                    ZKFPEngX1.EndEngine();
                    ShowHintInfo("Failed to connect sensor");
                }
            }
            else
            {
                ShowHintInfo("Failed to connect sensor");
            }
        }
コード例 #9
0
 //比对指纹
 private void btnVerify_Click(object sender, EventArgs e)
 {
     if (ZKFPEngX1.IsRegister)
     {
         ZKFPEngX1.CancelEnroll();
     }
     FAutoIdentify = false;
     ZKFPEngX1.SetAutoIdentifyPara(FAutoIdentify, fpcHandle, 8);
     ShowHintInfo("begin verification(1:N)");
     FMatchType = 2;
 }
コード例 #10
0
 private void btnCancel_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.EndEngine();
     btnDeviceConnect.Enabled = true;
     btnCancel.Enabled        = false;
     lvlDataMatchImg.Visible  = false;
     lvlDataMatch.Visible     = false;
     picPreview.Image         = null;
     ultraProgressBar1.Value  = 0;
     EDSensorSN.Text          = "0";
     prcClearData();
 }
コード例 #11
0
        //Show fingerprint image
        private void ZKFPEngX1_OnImageReceived(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnImageReceivedEvent e)
        {
            ShowHintImage(0);
            Graphics g   = pbFingerPrint.CreateGraphics();
            Bitmap   bmp = new Bitmap(pbFingerPrint.Width, pbFingerPrint.Height);

            g = Graphics.FromImage(bmp);
            int dc = g.GetHdc().ToInt32();

            ZKFPEngX1.PrintImageAt(dc, 0, 0, bmp.Width, bmp.Height);
            g.Dispose();
            pbFingerPrint.Image = bmp;
        }
コード例 #12
0
        private void ZKFPEngX1_OnImageReceived(object sender, IZKFPEngXEvents_OnImageReceivedEvent e)
        {
            ShowHintImage(0);
            Graphics g   = PictureBox1.CreateGraphics();
            Bitmap   bmp = new Bitmap(PictureBox1.Width, PictureBox1.Height);

            g = Graphics.FromImage(bmp);
            int dc = g.GetHdc().ToInt32();

            ZKFPEngX1.PrintImageAt(dc, 0, 0, bmp.Width, bmp.Height);
            g.Dispose();
            PictureBox1.Image = bmp;
        }
コード例 #13
0
 // Initilization FingerPrint
 private void InitFingerPrint()
 {
     if (ZKFPEngX1.InitEngine() == 0)
     {
         //btnInit.Enabled = false;
         FMatchType     = 2;
         lblresult.Text = "Sensor de Huella conectado y Listo.";
         ShowHintImage(3);
         ZKFPEngX1.FPEngineVersion = "9";
     }
     else
     {
         lblresult.Text = "Error al conectar el sensor de Huella";
     }
 }
コード例 #14
0
 //将指纹登记特征模版保存到指纹识别高速缓冲空间,并显示指纹登记结果
 private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
 {
     if (e.actionResult)
     {
         MessageBox.Show("Fingerprint register success! ", "提示! ", MessageBoxButtons.YesNo);
         //e.aTemplate = ZKFPEngX1.GetTemplate();
         //ZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate);
         ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, ZKFPEngX1.GetTemplateAsStringEx("9"), ZKFPEngX1.GetTemplateAsStringEx("10"));
         ShowHintInfo("Fingerprint register success!");
     }
     else
     {
         ShowHintInfo("Fingerprint register failed");
         MessageBox.Show("Fingerprint register failed ", "提示! ", MessageBoxButtons.YesNo);
     }
 }
コード例 #15
0
        //窗口初始化
        private void FingerDemo_Load(object sender, EventArgs e)
        {
            if (ZKFPEngX1.InitEngine() == 0)
            {
                ZKFPEngX1.FPEngineVersion = "9";

                ZKFPEngX1.EnrollCount = 1;

                ZKFPEngX1.CancelEnroll();
                ZKFPEngX1.EnrollCount = 1;
                ZKFPEngX1.BeginEnroll();
            }
            else
            {
                MessageBox.Show("Failed to connect Device \n"
                                + "Please Connect properly", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.Close();
            }
        }
コード例 #16
0
 private void ZKFPEngX1_OnEnroll(object sender, IZKFPEngXEvents_OnEnrollEvent e)
 {
     if (e.actionResult)
     {
         //MessageBox.Show("Fingerprint register success! ", "success! ", MessageBoxButtons.YesNo);
         ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, ZKFPEngX1.GetTemplateAsStringEx("10"), FP);
         FP = ZKFPEngX1.GetTemplateAsStringEx("10");
         prcFingerDataSave(FP);
         ShowHintInfo("Fingerprint register success.[" + txtName.Text.ToString() + "]");
         MessageBox.Show("Fingerprint register success.[" + txtName.Text.ToString() + "] ", "success! ", MessageBoxButtons.YesNo);
         lvlDataMatchImg.Text = "Fingerprint register success.";
         prcClearData();
     }
     else
     {
         ShowHintInfo("Fingerprint register failed.[" + txtName.Text.ToString() + "]");
         MessageBox.Show("Fingerprint register failed.[" + txtName.Text.ToString() + "] ", "failed! ", MessageBoxButtons.YesNo);
         lvlDataMatchImg.Text = "Fingerprint register failed.";
     }
 }
コード例 #17
0
        //
        private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
        {
            if (e.actionResult)
            {
                MessageBox.Show("Registro de Huella Dactilar Exitoso! ", "ZK4500 Finger Print ", MessageBoxButtons.OK);
                //e.aTemplate = ZKFPEngX1.GetTemplate();
                //ZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate);

                ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, ZKFPEngX1.GetTemplateAsStringEx("9"), ZKFPEngX1.GetTemplateAsStringEx("10"));
                ShowHintInfo("Registro de Huella Dactilar Exitoso!");
                lblresult.Text = "Registro de Huella Dactilar Exitoso!";
                ShowHintImage(3);
            }
            else
            {
                ShowHintInfo("Error en Registro de Huella Dactilar");
                MessageBox.Show("Error en Registro de Huella Dactilar ", "ZK4500 Finger Print ", MessageBoxButtons.OK);
                lblresult.Text = "Error en Registro de Huella Dactilar!";
                ShowHintImage(2);
            }
        }
コード例 #18
0
        // Initilization FingerPrint
        private void InitFingerPrint()
        {
            if (ZKFPEngX1.InitEngine() == 0)
            {
                //btnInit.Enabled = false;
                FMatchType = 2;
                ShowHintInfo("Sensor conectado");
                lblresult.Text = "Sensor de Huella conectado y Listo para iniciar registro";
                ShowHintImage(3);
                ZKFPEngX1.FPEngineVersion = "9";

                //Crear un espacio de caché de identificación de huellas dactilares y devuelve su identificador
                fpcHandle = ZKFPEngX1.CreateFPCacheDB();
                //EDSensorNum.Text = Convert.ToString(ZKFPEngX1.SensorCount);
                //EDSensorIndex.Text = Convert.ToString(ZKFPEngX1.SensorIndex);
                //EDSensorSN.Text = ZKFPEngX1.SensorSN;
                ZKFPEngX1.EnrollCount = 3;
                //button1.Enabled = true;
            }
            else
            {
                ShowHintInfo("Error al conectar el sensor de Huella");
            }
        }
コード例 #19
0
        //
        private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
        {
            if (e.actionResult)
            {
                try
                {
                    e.aTemplate = ZKFPEngX1.GetTemplate();

                    //string database = "Database=SIVASHAKTHI;Server=202.63.115.34\\SBPL;User ID=sbpl;Password=sbpl123";
                    //SqlConnection con = new SqlConnection(database);
                    //con.Open();
                    //string Query = "";
                    //Query = "select HAFP_FINGER_FP1,HAFP_FINGER_FP4 from HR_APPL_FINGER_PRINTS  where HAFP_APPL_NUMBER='" + emp_appl_number + "' ";
                    //SqlCommand cmd = new SqlCommand(Query, con);
                    //SqlDataAdapter da = new SqlDataAdapter(cmd);
                    //DataSet ds = new DataSet();
                    //da.Fill(ds);
                    //if (ds.Tables[0].Rows.Count > 0)
                    if (dtVerif.Rows.Count > 0)
                    {
                        try
                        {
                            //DataTable dt = ds.Tables[0];
                            DataTable dt = dtVerif;
                            foreach (DataRow row in dt.Rows)
                            {
                                byte[] fptemp2 = (byte[])row["HAFP_FINGER_FP1"];


                                if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2))
                                {
                                    fpstatus = true;

                                    this.Close();
                                    return;
                                }
                                else
                                {
                                    fpstatus = false;

                                    this.Close();
                                }


                                if (!DBNull.Value.Equals(row["HAFP_FINGER_FP4"]))
                                {
                                    fptemp2 = (byte[])row["HAFP_FINGER_FP4"];


                                    if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2))
                                    {
                                        fpstatus = true;
                                        this.Close();
                                        return;
                                    }
                                    else
                                    {
                                        fpstatus = false;

                                        this.Close();
                                    }
                                }
                            }
                            ZKFPEngX1.EndEngine();
                        }
                        catch (Exception EX)
                        {
                            MessageBox.Show(EX.Message);
                            PictureBox1.Image = null;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                //ShowHintInfo("Fingerprint register failed");
                MessageBox.Show("Fingerprint register failed ", "提示! ", MessageBoxButtons.YesNo, MessageBoxIcon.Stop);
            }
        }
コード例 #20
0
ファイル: FingerMainForm.cs プロジェクト: ssor/fingerPointSys
 private void btnCancelRegisterPrint_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.CancelEnroll();
     ShowHintInfo("取消登记指纹");
 }
コード例 #21
0
        //
        private void ZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
        {
            if (e.actionResult)
            {
                try
                {
                    e.aTemplate = ZKFPEngX1.GetTemplate();
                    if (lblMessage.Text == "To Confirm Again Put finger on the Device")
                    {
                        if (ZKFPEngX1.VerFinger(ref e.aTemplate, oldEmptemplate, true, ref step2))
                        {
                            fpstatus = true;

                            this.Close();
                            return;
                        }
                        else
                        {
                            fpstatus = false;
                            MessageBox.Show("Fingerprint Not Matched ", "", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                            this.Close();
                            return;
                        }
                        //Emptemplate = (byte[])e.aTemplate;
                        ZKFPEngX1.EndEngine();
                        MessageBox.Show("Fingerprint Added Successfully ");
                        this.Close();
                    }

                    else
                    {
                        string        database = "Database=SIVASHAKTHI;Server=202.63.115.34\\SBPL;User ID=sbpl;Password=sbpl123";
                        SqlConnection con      = new SqlConnection(database);
                        con.Open();
                        string Query = "";
                        Query = "select HAFP_FINGER_FP1,HAFP_FINGER_FP4 from HR_APPL_FINGER_PRINTS ";

                        //SqlCommand cmd = new SqlCommand(Query, con);

                        SqlCommand cmd = new SqlCommand();
                        cmd.Connection  = con;
                        cmd.CommandText = "GetEmpFingerPrintsFromBranch";
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter param = new SqlParameter();

                        param.ParameterName = "@xBranchCode";
                        param.DbType        = DbType.String;
                        param.Value         = Branch;
                        param.Direction     = ParameterDirection.Input;
                        cmd.Parameters.Add(param);

                        SqlDataAdapter da = new SqlDataAdapter(cmd);
                        DataSet        ds = new DataSet();
                        da.Fill(ds);
                        //DataSet ds = null;

                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            DataTable dt = ds.Tables[0];
                            foreach (DataRow row in dt.Rows)
                            {
                                byte[] fptemp2 = (byte[])row["HAFP_FINGER_FP1"];


                                if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2))
                                {
                                    fpstatus = true;
                                    // sEcode  = (int)row["ECODE"];
                                    sEcode = Convert.ToInt32(row["ECODE"].ToString());
                                    this.Close();
                                    return;
                                }
                                else
                                {
                                    fpstatus = false;
                                    sEcode   = Convert.ToInt32(row["ECODE"].ToString());
                                    this.Close();
                                }

                                if (!DBNull.Value.Equals(row["HAFP_FINGER_FP4"]))
                                {
                                    fptemp2 = (byte[])row["HAFP_FINGER_FP4"];


                                    if (ZKFPEngX1.VerFinger(ref e.aTemplate, fptemp2, true, ref step2))
                                    {
                                        fpstatus = true;
                                        //sEcode = (int)row["ECODE"];
                                        sEcode = Convert.ToInt32(row["ECODE"].ToString());
                                        this.Close();
                                        return;
                                    }
                                    else
                                    {
                                        fpstatus = false;
                                        //sEcode = (int)row["ECODE"];
                                        sEcode = Convert.ToInt32(row["ECODE"].ToString());
                                        this.Close();
                                    }
                                }
                            }
                        }
                        Emptemplate = (byte[])e.aTemplate;
                        ZKFPEngX1.EndEngine();


                        //MessageBox.Show("Updated");
                        //PictureBox1.Image = null;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    PictureBox1.Image = null;
                }
            }
            else
            {
                //ShowHintInfo("Fingerprint register failed");
                MessageBox.Show("Fingerprint register failed ", "提示! ", MessageBoxButtons.YesNo, MessageBoxIcon.Stop);
                this.Close();
            }
        }
コード例 #22
0
        private void ZKFPEngX1_OnCapture(object sender, IZKFPEngXEvents_OnCaptureEvent e)
        {
            int FingerCount = 0;

            fpcHandle = ZKFPEngX1.CreateFPCacheDB();
            FP        = ZKFPEngX1.GetTemplateAsStringEx("10");
            ZKFPEngX1.AddRegTemplateStrToFPCacheDBEx(fpcHandle, 1, FP, FP);


            int ID = 0, i, T = 0, fi;
            int Score      = new int();
            int ProcessNum = new int();

            ShowHintInfo("Acquired fingerprint template:");

            ArrayList arQuery = new ArrayList();

            GTRLibrary.clsConnection clsCon = new GTRLibrary.clsConnection();
            dsDetails = new DataSet();
            string sqlQuery = "";


            if (FMatchType == 1)
            {
                //ZKFPEngX1.VerFingerFromStr(sRegTemp, sVerTemplate, False, ref regChange)
            }
            if (FMatchType == 2)//1:N
            {
                if (!FAutoIdentify)
                {
                    sqlQuery = "Exec [prcGetEmpRelIssuer] 0," + Common.Classes.clsMain.intComId + ",0";
                    clsCon.GTRFillDatasetWithSQLCommand(ref dsDetails, sqlQuery);
                    dsDetails.Tables[0].TableName = "FingerData";


                    int rowCount;
                    for (rowCount = 0; rowCount < dsDetails.Tables["FingerData"].Rows.Count; rowCount++)
                    {
                        if (dsDetails.Tables["FingerData"].Rows[rowCount][0].ToString().Trim().Length > 0 &&
                            dsDetails.Tables["FingerData"].Rows[rowCount]["FingerData"].ToString().Trim().Length > 0)
                        {
                            EmpCode = dsDetails.Tables["FingerData"].Rows[rowCount]["EmpId"].ToString();
                            FPData  = dsDetails.Tables["FingerData"].Rows[rowCount]["FingerData"].ToString();

                            if (Radio9.Checked)
                            {
                                ZKFPEngX1.FPEngineVersion = "9";
                                Score = 8;
                                ID    = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, FPData, ref Score, ref ProcessNum);
                            }
                            else
                            {
                                ZKFPEngX1.FPEngineVersion = "10";
                                Score = 8;
                                ID    = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, FPData, ref Score, ref ProcessNum);
                            }
                            if (ID == -1)
                            {
                                T = 0;
                            }
                            else
                            {
                                String strTemp = "Identification success!\n" + " Score =" + Convert.ToString(Score);
                                ultraProgressBar1.Value = Score;
                                ShowHintInfo(strTemp);
                                ShowHintInfo("Verify success");
                                T = 1;
                                prcFingerVerifySuccess();
                                prcDisplayDetails(EmpCode.ToString());
                                goto Outer;
                                //prcClearData();

                                //ShowHintImage(1);
                            }
                        }
                    }

                    if (T == 0)
                    {
                        ShowHintInfo("Identification Failed! Score = " + Convert.ToString(Score));
                        ShowHintInfo("Sorry,Verify failed!");
                        prcFingerVerifyFailed();
                        //prcClearData();
                    }

Outer:
                    Console.WriteLine("Verify success");
                }
                else
                {
                    ID    = 0;
                    Score = 0;
                    //e.aTemplateobject
                    Array _ObjectArray = (Array)e.aTemplate;
                    int   _ObjectCount = _ObjectArray.GetLength(0);
                    for (i = 0; i < 2; i++)
                    {
                        if (i == 0)
                        {
                            ID = Convert.ToInt32(_ObjectArray.GetValue(i));
                        }
                        else
                        {
                            Score = Convert.ToInt32(_ObjectArray.GetValue(i));
                        }
                    }
                    if (ID == -1)
                    {
                        ShowHintInfo("Fingerprint Auto Identify Failed!");
                        //ShowHintImage(2);
                    }
                    else
                    {
                        ShowHintInfo("Fingerprint Auto identification success! Score =" + Convert.ToString(Score));
                        //ShowHintImage(1);
                    }
                }
            }
        }
コード例 #23
0
ファイル: FingerMainForm.cs プロジェクト: ssor/fingerPointSys
 private void btnDisconnect_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.EndEngine();
 }
コード例 #24
0
 //desconectar
 private void DisconnectFingerPrint()
 {
     ZKFPEngX1.EndEngine();
     //btnInit.Enabled = true;
     //button1.Enabled = false;
 }
コード例 #25
0
 private void btnRegister_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.BeginEnroll();
     MessageBox.Show("Register Begin");
     ShowHintInfo("Register Begin");
 }
コード例 #26
0
 //断开
 private void button1_Click(object sender, EventArgs e)
 {
     ZKFPEngX1.EndEngine();
     btnInit.Enabled = true;
     button1.Enabled = false;
 }
コード例 #27
0
        //指纹比对事件  (该例中只有1:N比对,即同指纹识别高速缓冲空间德指纹信息进行比对)
        private void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            int ID, i;
            int Score      = new int();
            int ProcessNum = new int();

            ShowHintInfo("Acquired fingerprint template:");
            if (FMatchType == 1)//1:1比对(一般用法为把登记好的指纹保存到数据库,1:1比对时,先从数据库获取到相应编号的指纹模板,再同现在比对时获取的指纹进行比对)
            {
                //下面该段代码未实现        sRegTemp为从数据库获取的指纹模板, sVerTemplate为该时刻比对时的指纹
                //ZKFPEngX1.VerFingerFromStr(sRegTemp, sVerTemplate, False, ref regChange)
            }
            if (FMatchType == 2)//1:N比对
            {
                if (!FAutoIdentify)
                {
                    if (Radio9.Checked)
                    {
                        ZKFPEngX1.FPEngineVersion = "9";
                        ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, ZKFPEngX1.GetTemplateAsStringEx("9"), ref Score, ref ProcessNum);
                    }
                    else
                    {
                        ZKFPEngX1.FPEngineVersion = "10";
                        ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, ZKFPEngX1.GetTemplateAsStringEx("10"), ref Score, ref ProcessNum);
                    }
                    if (ID == -1)
                    {
                        ShowHintInfo("Identification Failed! Score = " + Convert.ToString(Score));
                        ShowHintImage(2);
                    }
                    else
                    {
                        String strTemp = "Identification success!\n" + " Score =" + Convert.ToString(Score);
                        ShowHintInfo(strTemp);
                        ShowHintImage(1);
                    }
                    if (ID > 0)
                    {
                        lblresult.Text = "Verify success";
                    }
                    else
                    {
                        lblresult.Text = "Sorry,Verify failed!";
                    }
                }
                else
                {
                    ID    = 0;
                    Score = 0;
                    //e.aTemplate为object类型数据,将其分离并转化为整型
                    Array _ObjectArray = (Array)e.aTemplate;
                    int   _ObjectCount = _ObjectArray.GetLength(0);
                    for (i = 0; i < 2; i++)
                    {
                        if (i == 0)
                        {
                            ID = Convert.ToInt32(_ObjectArray.GetValue(i));
                        }
                        else
                        {
                            Score = Convert.ToInt32(_ObjectArray.GetValue(i));
                        }
                    }
                    if (ID == -1)
                    {
                        lblresult.Text = "Fingerprint Auto Identify Failed!";
                        ShowHintInfo("Fingerprint Auto Identify Failed!");
                        ShowHintImage(2);
                    }
                    else
                    {
                        lblresult.Text = "Fingerprint Auto identification success!";
                        ShowHintInfo("Fingerprint Auto identification success! Score =" + Convert.ToString(Score));
                        ShowHintImage(1);
                    }
                }
            }
        }
コード例 #28
0
        // Eventos para la huella digital (en este ejemplo, sólo 1: N coincidente: el espacio de caché con la información de huellas dactilares de identificación de huellas digitales para comparación)
        private void ZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
        {
            int ID, i;
            int Score      = new int();
            int ProcessNum = new int();

            ShowHintInfo("Adquiriendo fingerprint plantilla:");

            if (FMatchType == 1) // 1:1
            {
                //ZKFPEngX1.VerFingerFromStr(sRegTemp, sVerTemplate, False, ref regChange)
            }

            if (FMatchType == 2) //1:N
            {
                if (!FAutoIdentify)
                {
                    // recommended value is 9
                    Score = 9;

                    ZKFPEngX1.FPEngineVersion = "9";

                    //var ss = (Array)ZKFPEngX1.GetTemplate();

                    //object bm = null;
                    //var img = ZKFPEngX1.GetFingerImage(ref bm);
                    //pictureBox1.Image = Common.Utils.byteArrayToImage((byte[])bm);

                    //bool b = ZKFPEngX1.SaveTemplate("________tplGiovanny____", ZKFPEngX1.GetTemplate());



                    ID = ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle, ZKFPEngX1.GetTemplateAsStringEx("9"), ref Score, ref ProcessNum);

                    if (ID == -1)
                    {
                        ShowHintInfo("Error Identificando Puntuación! = " + Convert.ToString(Score));
                        ShowHintImage(2);
                    }
                    else
                    {
                        String strTemp = "Identificación exitosa!\n" + " Score =" + Convert.ToString(Score);
                        ShowHintInfo(strTemp);
                        ShowHintImage(1);
                    }
                    if (ID > 0)
                    {
                        lblresult.Text = "Verificación exitosa";
                    }
                    else
                    {
                        lblresult.Text = "Lo sentimos, Error en la verificación!";
                    }
                }
                else
                {
                    ID    = 0;
                    Score = 0;
                    //  e.aTemplate datos para el tipo de objeto, que se aisló y se convierte en un entero
                    Array _ObjectArray = (Array)e.aTemplate;
                    int   _ObjectCount = _ObjectArray.GetLength(0);
                    ID    = Convert.ToInt32(_ObjectArray.GetValue(0));
                    Score = Convert.ToInt32(_ObjectArray.GetValue(1));

                    //FingerPrintTemplate = ((int[])e.aTemplate).Select(x => (byte)x).ToArray();

                    if (ID == -1)
                    {
                        lblresult.Text = "Error en Auto Identificación de Huella Dactilar!";
                        ShowHintInfo("Error en Auto Identificación de Huella Dactilar!");
                        ShowHintImage(2);
                    }
                    else
                    {
                        lblresult.Text = "Auto Identificación de Huella Dactilar exitosa!";
                        ShowHintInfo("Auto Identificación de Huella Dactilar exitosa! Puntuación =" + Convert.ToString(Score));
                        ShowHintImage(1);
                    }
                }
            }
        }
コード例 #29
0
 private void btnAutoverify_Click(object sender, EventArgs e)
 {
     FAutoIdentify = true;
     ZKFPEngX1.SetAutoIdentifyPara(FAutoIdentify, fpcHandle, 8);
     FMatchType = 2;
 }
コード例 #30
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (pbFingerPrint.Image == null)
                {
                    FingerPrintImage = null;
                }

                if (ZKFPEngX1.GetTemplate().ToString() != string.Empty)
                {
                    FingerPrintTemplate = (byte[])ZKFPEngX1.GetTemplate();

                    // Imagen de la huella
                    object image  = null;
                    bool   result = ZKFPEngX1.GetFingerImage(ref image);

                    // Bajar el peso de la huella *******************************************
                    FingerPrintImage = Common.Utils.byteArrayToByteArrayImageJpg((byte[])image);
                    //***********************************************************************
                }
                else
                {
                    if (_modoCargaImagen == Common.ModoCargaImagen.DesdeArchivo)
                    {
                        FingerPrintImage = Common.Utils.ImageToByteArrayImageJpg1(pbFingerPrint.Image);
                    }
                }

                sigPlusNET1.SetImageXSize(500);
                sigPlusNET1.SetImageYSize(150);
                sigPlusNET1.SetJustifyMode(5);

                // Firma imagen
                var myimage = sigPlusNET1.GetSigImage();

                RubricImage = Common.Utils.ImageToByteArrayImageJpg(myimage);

                myimage.Dispose();

                if (sigPlusNET1.GetSigString() == "300D0A300D0A")
                {
                    MessageBox.Show("No se permite grabar sin firma", "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                // Firma serializada en formato ASCII hex string
                RubricImageText = sigPlusNET1.GetSigString();

                //var str2 = BitConverter.ToString(RubricImage);
                //string base64ImageRepresentation = Convert.ToBase64String(RubricImage);
                //string re = System.Text.Encoding.UTF8.GetString(RubricImage);
                //var ss = ToHexString(RubricImage);

                DisconnectFingerPrint();
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show(Common.Utils.ExceptionFormatter(ex), "ERROR!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }