public void SetCapture()
 {            
     m_mouse = MyEngine.MouseEngine;
     m_mouse.AppUnderCrossChanged += new ExtraMouseHook.DlgAppUnderCrossChanged(OnApplicationChanged);
     m_mouse.CrossLeftMouseUp += new ExtraMouseHook.DlgEmptyDelegate(LeftButtonUp);
     m_hCurOld = Cursor.CopyHandle();
     m_parentForm = this.FindForm();
 }
        public MyEngine()
        {
            m_iconTimer = new System.Windows.Forms.Timer();
            m_iconTimer.Tick += new EventHandler(m_iconTimer_Tick);
            m_iconTimer.Interval = 500;
        
            form_top = new GUI.Form_transparent();
            form_top.CmsMatchedGestures.ItemClicked += new ToolStripItemClickedEventHandler(cMS_MatchedGestures_ItemClicked);
            
            m_network = new MyNeuralNetwork();
            m_network.NetworkStartTraining += new MyNeuralNetwork.DlgEmpty(NetworkStartTraining);
            m_network.NetworkLearnt += new MyNeuralNetwork.DlgNetworkLearnt(NetworkLearnt);

            m_mouse = new ExtraMouseHook();
            m_mouse.MouseClick += new MouseEventHandler(MyMouse_MouseClick);
            m_mouse.MouseDown += new MouseEventHandler(MyMouse_MouseDown);
            m_mouse.MouseDownGesture += new MouseEventHandler(MyMouse_MouseDownGesture);
            m_mouse.MouseUp += new MouseEventHandler(MyMouse_MouseUp);
            m_mouse.MouseMove += new MouseEventHandler(MyMouse_MouseMove);
            m_mouse.MouseStoped += new EventHandler(MyMouse_MouseStoped);
            m_mouse.HookStateChanged += new ExtraMouseHook.DlgHookStateChanged(HookStateChanged);
            m_mouse.WheelBtnAction += new ExtraMouseHook.DlgWheelBtnAction(MyMouse_WheelBtnAction);
            m_mouse.DoubleBtnAction += new ExtraMouseHook.DlgDoubleBtnAction(MyMouse_DoubleBtnAction);
            //m_mouse.MouseBrowseWheel += new MouseHook.DlgMouseWheelMove(MyMouse_MouseBrowseWheel);

            autoBehave = new AutoBehave(form_top.Handle);
            autoBehave.DisableMouse += new AutoBehave.DlgDisableMouse(DisableMouse);
        }