无法使用Zkemkeeper SDK调用事件

时间:2016-09-20 11:56:56

标签: c# winforms fingerprint biometrics real-time-data

我在调用Zkemkeeper.dll中的事件时遇到了麻烦。我已经成功建立了连接但是将手指放在传感器上没有事件被触发。事实上,没有触发实时事件。

以下是我的代码,我们将不胜感激。

private void button2_Click(object sender, EventArgs e)
{
    string s = "";
    int Val = 0;
    bool bIsConnected = false;
    try {
        //zkemkeeper.CZKEMClass axczkem1 = new zkemkeeper.CZKEMClass();
       // bIsConnected = axczkem1.Connect_USB(1);
        bIsConnected = axczkem1.Connect_Com(6,1,115200);

        if(bIsConnected==true){
            Cursor = Cursors.Default;
           bool asa= axczkem1.EnableDevice(1, true);
            if (axczkem1.RegEvent(1, 65535))
            {

              axczkem1.OnFinger += new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axczkem1_OnFinger);
             axczkem1.OnKeyPress += new zkemkeeper._IZKEMEvents_OnKeyPressEventHandler(axczkem1_OnKeyPress);
             axczkem1.OnConnected += new _IZKEMEvents_OnConnectedEventHandler(axCZKEM1_OnConnected);
             axczkem1.OnVerify += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
            }
        MessageBox.Show("Connection established!!!");
        }
    }
    catch(Exception ex) 
    {
        MessageBox.Show(ex.ToString());
    }
}

以下是事件方法:

private void axCZKEM1_OnVerify(int UserID)
    {
        label2.Text = "Verify";
    }

    private void axCZKEM1_OnConnected()
    {
        label1.Text = "Connected";
    }

    private void axczkem1_OnKeyPress(int Key)
    {
        MessageBox.Show(Key.ToString());
    }

    private void axczkem1_OnFinger()
    {
        MessageBox.Show("Connection");
    }

1 个答案:

答案 0 :(得分:0)

  1. 如果这是一个Windows窗体应用程序。如果程序有长时间运行的过程事件不起作用。例如loop(while,for)。还有Thread.sleep()。 如果你想触发工作,你的程序什么都不做。
  2. 如果这不是Windows表单,请参阅此链接enter link description here