Пример #1
0
        internal void PrepareMouseHook()
        {
            if (mouseHook != null)
            {
                mouseHook.Dispose();
                mouseHook = null;
            }


            mouseHook = new MouseHook(this.Handle);

            MouseHook.TrackMove         = false;
            MouseHook.TrackWheel        = false;
            MouseHook.DesktopClick      = GlobalSettings.DesktopClick;
            MouseHook.TrackClick        = false;
            MouseHook.InterceptClick    = false;
            MouseHook.TrackWheelClick   = false;
            MouseHook.TrackXButtonClick = false;

            if (GlobalSettings.UseMouseActivation)
            {
                if (GlobalSettings.MouseHook == MouseHookButton.None)
                {
                    MouseHook.TrackClick     = false;
                    MouseHook.InterceptClick = false;
                }
                else
                {
                    MouseHook.TrackClick = true;

                    if (GlobalSettings.UseRightClick)
                    {
                        MouseHook.InterceptClick = true;
                    }
                    else
                    {
                        MouseHook.InterceptClick = false;
                    }

                    if (GlobalSettings.MouseHook == MouseHookButton.Wheel)
                    {
                        MouseHook.TrackWheelClick = true;
                    }
                    else
                    {
                        MouseHook.TrackWheelClick = false;
                    }


                    if ((GlobalSettings.MouseHook == MouseHookButton.XButton1) || (GlobalSettings.MouseHook == MouseHookButton.XButton2))
                    {
                        MouseHook.TrackXButtonClick = true;
                    }
                    else
                    {
                        MouseHook.TrackXButtonClick = false;
                    }
                }
            }
        }
Пример #2
0
        private void Window_Closing_1(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (mouseHook != null)
            {
                mouseHook.Dispose();
            }
            FileStream      fs        = new FileStream(@"config.cfg", FileMode.Create);
            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(fs, _myKeys);
            fs.Close();
        }
Пример #3
0
        public void Dispose()
        {
            keyboardHook.RawInputProcessed -= OnRawKeyboardInputProcessed;
            mouseHook.RawInputProcessed    -= OnRawMouseInputProcessed;

            keyboardHook?.Dispose();
            mouseHook?.Dispose();
        }
Пример #4
0
 private void DisableMouseHook()
 {
     if (_mouseHook != null)
     {
         _mouseHook.Dispose();
         _mouseHook = null;
     }
 }
Пример #5
0
        private void Form1_Disposed(object sender, EventArgs e)
        {
            //m_GlobalHook.KeyPress -= GlobalHookKeyPress;
            Unsubscribe();

            //It is recommended to dispose it
            _mouseHook.Dispose();
            UnhookWindowsHookEx(_hookId);
        }
Пример #6
0
        private void UnsetMouseHook()
        {
            if (_mouseHook == null)
            {
                return;
            }

            _mouseHook.RawInputProcessed -= OnRawMouseInputProcessed;
            _mouseHook.Dispose();
        }
Пример #7
0
        /// <summary>
        /// Initializes a mousehook
        /// Remember to specify an <MouseMessageEvent cref="MouseMessageEvent"/>
        /// </summary>
        /// <param name="stealthyHook"></param>
        public void InitMouseHook(bool stealthyHook = false)
        {
            StealthyMouseHook = stealthyHook;
            if (MouseHook != null)
            {
                MouseHook.Dispose();
            }

            MouseHook = new GlobalHook(HookType.WH_MOUSE_LL, MouseHookCallback);
        }
Пример #8
0
        /// <inheritdoc />
        public override void Dispose()
        {
            base.Dispose();

            MouseHook.Dispose();
            MouseHook = default;

            GameData = default;

            GameProcess = default;
        }
Пример #9
0
            /// <summary>
            ///  Unhook and null out our mouseHook.
            /// </summary>
            protected override void OnHandleDestroyed(EventArgs e)
            {
                s_adornerWindowList.Remove(this);

                // Unregister the mouse hook once all adorner windows have been disposed.
                if (s_adornerWindowList.Count == 0 && s_mouseHook != null)
                {
                    s_mouseHook.Dispose();
                    s_mouseHook = null;
                }

                base.OnHandleDestroyed(e);
            }
Пример #10
0
 void DisposeMouseHook()
 {
     lock (mouseHookLock)
     {
         if (_MouseHook != null)
         {
             _MouseHook.OnMouseDown -= new MouseEventHandler(RevealerMouseDown);
             _MouseHook.Stop();
             _MouseHook.Dispose();
             _MouseHook = null;
         }
     }
 }
Пример #11
0
 void Form1FormClosing(object sender, FormClosingEventArgs e)
 {
     kHook.Dispose();
     mHook.Dispose();
     if (mouseWriter != null)
     {
         mouseWriter.Dispose();
     }
     if (keyboardWriter != null)
     {
         keyboardWriter.Dispose();
     }
 }
Пример #12
0
        protected virtual void Dispose(bool disposing)
        {
            Stop();

            if (disposing)
            {
                mouse.Dispose();
                mouseSlim.Dispose();
                keyboard.Dispose();
                keyboardSlim.Dispose();
                keyChar.Dispose();
                manualResetEvent.Close();
            }
        }
Пример #13
0
        private void MainFormFormClosing(object sender, FormClosingEventArgs e)
        {
            Settings.Default["Opacity"] = Opacity;
            Settings.Default.Save();
            Settings.Default.Upgrade();

            if (mouseHook != null)
            {
                mouseHook.Dispose();
                mouseHook = null;
            }
            if (keyboardHook != null)
            {
                keyboardHook.Dispose();
                keyboardHook = null;
            }
        }
 private void InitializeMouseHook(bool isMouseEnabled)
 {
     if (isMouseEnabled)
     {
         if (_mouseHook == null)
         {
             _mouseHook          = new MouseHook();
             _mouseHook.KeyDown += MouseHook_KeyDown;
             _mouseHook.KeyUp   += MouseHook_KeyUp;
         }
     }
     else
     {
         if (_mouseHook != null)
         {
             _mouseHook.Dispose();
             _mouseHook = null;
         }
     }
 }
 // TODO:
 protected override void Dispose(bool disposing)
 {
     MouseHook?.Dispose();
     base.Dispose(disposing);
 }
Пример #16
0
 public void Dispose()
 {
     KeyboardHook?.Dispose();
     MouseHook?.Dispose();
 }
Пример #17
0
        //-------------------------------------------------------------
        // 概要:コンストラクタ
        //-------------------------------------------------------------
        public WmpNativeWindow(AxWindowsMediaPlayer wmp)
        {
            this.wmp = wmp;

            // サブクラスウィンドウの設定
            AssignHandle(wmp.Handle);

            wmp.PlayStateChange += (sender, @event) =>
            {
                var handle = Win32API.FindWindowEx(Handle, IntPtr.Zero, null, null);
                if (handle != IntPtr.Zero)
                {
                    if (mouseHook != null)
                    {
                        mouseHook.Dispose();
                    }
                    mouseHook              = new MouseHook(handle);
                    mouseHook.OnMouseHook += (args) =>
                    {
                        if (args.WindowsMessage == WindowsMessage.WM_LBUTTONDBLCLK)
                        {
                            DoubleClick(this, new _WMPOCXEvents_DoubleClickEvent((short)Keys.LButton, 0, args.X, args.Y));
                            return(true);
                        }
                        return(false);
                    };
                }
            };

            // 枠なし時のサイズ変更処理
            wmp.MouseMoveEvent += (sender, e) =>
            {
                // 枠なしのときだけ処理を実行する
                if (!PlayerSettings.FrameInvisible)
                {
                    return;
                }

                HitArea area = FormUtility.GetHitArea(frameSize, e.fX, e.fY, wmp.Width, wmp.Height);
                if (area == HitArea.HTNONE)
                {
                    return;
                }

                switch (area)
                {
                case HitArea.HTTOP:
                case HitArea.HTBOTTOM:
                    Cursor.Current = Cursors.SizeNS;
                    break;

                case HitArea.HTLEFT:
                case HitArea.HTRIGHT:
                    Cursor.Current = Cursors.SizeWE;
                    break;

                case HitArea.HTTOPLEFT:
                case HitArea.HTBOTTOMRIGHT:
                    Cursor.Current = Cursors.SizeNWSE;
                    break;

                case HitArea.HTTOPRIGHT:
                case HitArea.HTBOTTOMLEFT:
                    Cursor.Current = Cursors.SizeNESW;
                    break;
                }
            };

            // 枠なし時のサイズ変更処理
            wmp.MouseDownEvent += (sender, e) =>
            {
                // 枠なしのときだけ処理を実行する
                if (!PlayerSettings.FrameInvisible)
                {
                    return;
                }

                HitArea area = FormUtility.GetHitArea(frameSize, e.fX, e.fY, wmp.Width, wmp.Height);
                if (area != HitArea.HTNONE)
                {
                    Win32API.PostMessage(wmp.Parent.Parent.Handle, (int)WindowsMessage.WM_NCLBUTTONDOWN, new IntPtr((int)area), new IntPtr(0));
                }
            };
        }
Пример #18
0
 //Runs after Esc pressed, defines the closing behaviour.
 private static void SetDown()
 {
     MouseHook.Dispose();
     KeyboardHook.Dispose();
     PersistChanges();
 }
Пример #19
0
 public void Dispose()
 {
     hook.Dispose();
 }
 /// <inheritdoc/>
 public void Dispose()
 {
     Pause();
     _mouseHook.Dispose();
     _keyboardHook.Dispose();
 }