首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZKemKeeper:不触发事件

ZKemKeeper:不触发事件
EN

Stack Overflow用户
提问于 2016-08-12 23:07:51
回答 1查看 2.6K关注 0票数 0

我正在构建一个C#窗口应用程序,以获得拇指的印象,并将其显示在窗体上。我已成功地将应用程序连接到扫描仪(ZKTeco TX628)。但是,事件不会触发。

以下是我的代码:

代码语言:javascript
复制
    ZKFPEngX fp = new ZKFPEngX();
    zkemkeeper.CZKEMClass axCZKEM1 = new zkemkeeper.CZKEMClass();
    bool bIsConnected = false;

    public Form2()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {   
        bIsConnected = axCZKEM1.Connect_Net("192.168.1.201", Convert.ToInt32(4370));

        if (bIsConnected == true)
        {
            if (axCZKEM1.RegEvent(1, 65536))
            {
                this.axCZKEM1.OnFinger += new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axCZKEM1_OnFinger);
                this.axCZKEM1.OnConnected += new _IZKEMEvents_OnConnectedEventHandler(axCZKEM1_OnConnected);
                this.axCZKEM1.OnVerify += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
            }
        }
        else
        {
            int idwErrorCode=-1;
            this.axCZKEM1.GetLastError(ref idwErrorCode);
            MessageBox.Show("Unable to connect the device,ErrorCode=" + idwErrorCode.ToString(), "Error");
        }
    }

    private void axCZKEM1_OnFinger()
    {
        label1.Text = "OK";
        byte[] TmpData = new byte[700];
        int with = 0;
        int lenth = 0;
        bool fulimage = false;
        string path = "";
        byte a=1;
        axCZKEM1.CaptureImage(fulimage, ref with, ref lenth, ref a, path);
        MessageBox.Show ("RTEvent OnFinger Has been Triggered");
    }

    private void axCZKEM1_OnVerify(int uid)
    {
        label1.Text = "Verified";
    }

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

    private void button2_Click(object sender, EventArgs e)
    {
        this.axCZKEM1.EnableDevice(1, true);

        this.axCZKEM1.Disconnect();
        label1.Text = "Disconnected";
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-24 19:19:49

代码语言:javascript
复制
             bIsConnected = axCZKEM1.Connect_Net("192.168.1.201", Convert.ToInt32(4370));

            if (bIsConnected == true)
            {
                Trace.subWriteInLogFile(string.Concat(DateTime.Now.ToString(formatDateLog), "| " + "Connected"));

                iMachineNumber = 1;//In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
                if (axCZKEM1.RegEvent(iMachineNumber, 65535))//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
                {
                    this.axCZKEM1.OnFinger += new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axCZKEM1_OnFinger);
                    this.axCZKEM1.OnVerify += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
                    this.axCZKEM1.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
                    this.axCZKEM1.OnFingerFeature += new zkemkeeper._IZKEMEvents_OnFingerFeatureEventHandler(axCZKEM1_OnFingerFeature);
                    this.axCZKEM1.OnEnrollFingerEx += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(axCZKEM1_OnEnrollFingerEx);
                    this.axCZKEM1.OnDeleteTemplate += new zkemkeeper._IZKEMEvents_OnDeleteTemplateEventHandler(axCZKEM1_OnDeleteTemplate);
                    this.axCZKEM1.OnNewUser += new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);
                    this.axCZKEM1.OnHIDNum += new zkemkeeper._IZKEMEvents_OnHIDNumEventHandler(axCZKEM1_OnHIDNum);
                    this.axCZKEM1.OnAlarm += new zkemkeeper._IZKEMEvents_OnAlarmEventHandler(axCZKEM1_OnAlarm);
                    this.axCZKEM1.OnDoor += new zkemkeeper._IZKEMEvents_OnDoorEventHandler(axCZKEM1_OnDoor);
                    this.axCZKEM1.OnWriteCard += new zkemkeeper._IZKEMEvents_OnWriteCardEventHandler(axCZKEM1_OnWriteCard);
                    this.axCZKEM1.OnEmptyCard += new zkemkeeper._IZKEMEvents_OnEmptyCardEventHandler(axCZKEM1_OnEmptyCard);
                    Trace.subWriteInLogFile(string.Concat(DateTime.Now.ToString(formatDateLog), "| " + "Events registred"));

                }
            }
            else
            {
                axCZKEM1.GetLastError(ref idwErrorCode);

                Trace.subWriteInLogFile(string.Concat(DateTime.Now.ToString(formatDateLog), "| " + "Unable to connect the device, ErrorCode = " + idwErrorCode.ToString()));

            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38921153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档