private void lowLevelMouseProcHook(LowLevelMouseMessage message, MouseLowLevelHookStruct info)
        {
            Current = info.pt;

            switch (message)
            {
            case LowLevelMouseMessage.WM_LBUTTONUP:
            case LowLevelMouseMessage.WM_RBUTTONUP:
                if (MouseUp != null)
                {
                    MouseUp(this, EventArgs.Empty);
                }
                break;

            case LowLevelMouseMessage.WM_LBUTTONDOWN:
            case LowLevelMouseMessage.WM_RBUTTONDOWN:
                if (MouseDown != null)
                {
                    MouseDown(this, EventArgs.Empty);
                }
                break;

            case LowLevelMouseMessage.WM_MOUSEMOVE:
                if (MouseMove != null)
                {
                    MouseMove(this, EventArgs.Empty);
                }
                break;

            default: break;
            }
        }
Exemple #2
0
        protected void MouseEventTranslator_MouseDown(object sender, MouseMessageEventArgs e)
        {
            // Disregard all but capture button events
            if (e.Button != MouseButtons.Right)
            {
                return;
            }

            // Can we begin a new gesture capture
            if (State == CaptureState.Ready)
            {
                Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;

                // Store original mouse message
                _OriginalMessage = e.MouseMessage;

                // Try to begin capture process, if capture started then don't notify other applications of a mouse event, otherwise do
                e.Handled = TryBeginCapture(e.Location);


                if (!e.Handled)
                {
                    Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;
                }
            }
        }
 private void LowLevelMouseHook_MouseDown(LowLevelMouseMessage mouseMessage, ref bool handled)
 {
     if ((MouseActions)mouseMessage.Button == AppConfig.DrawingButton && _pressedMouseButton.Count == 0)
     {
         var args = new InputPointsEventArgs(new List <InputPoint>(new[] { new InputPoint(1, mouseMessage.Point) }), Device.Mouse);
         OnPointDown(args);
         handled = args.Handled;
     }
     _pressedMouseButton.Add((MouseActions)mouseMessage.Button);
 }
 private void MouseHook_MouseDown(LowLevelMouseMessage evt, ref bool handled)
 {
     if (PointCapture.Instance.State == CaptureState.CapturingInvalid || PointCapture.Instance.State == CaptureState.TriggerFired)
     {
         if (_actionMap.ContainsKey((MouseActions)evt.Button))
         {
             handled = PointCapture.Instance.Mode != CaptureMode.UserDisabled;
         }
     }
 }
 private void MouseHook_MouseUp(LowLevelMouseMessage e, ref bool handled)
 {
     if (PointCapture.Instance.State == CaptureState.CapturingInvalid || PointCapture.Instance.State == CaptureState.TriggerFired)
     {
         if (_actionMap.ContainsKey((MouseActions)e.Button))
         {
             OnTriggerFired(new TriggerFiredEventArgs(_actionMap[(MouseActions)e.Button], e.Point));
             PointCapture.Instance.State = CaptureState.TriggerFired;
             handled = PointCapture.Instance.Mode != CaptureMode.UserDisabled;
         }
     }
 }
 private void MouseHook_MouseWheel(LowLevelMouseMessage e, ref bool handled)
 {
     if (PointCapture.Instance.State == CaptureState.CapturingInvalid || PointCapture.Instance.State == CaptureState.TriggerFired)
     {
         MouseActions wheelAction = e.MouseData > 0 ? MouseActions.WheelForward : e.MouseData < 0 ? MouseActions.WheelBackward : MouseActions.None;
         if (_actionMap.ContainsKey(wheelAction))
         {
             OnTriggerFired(new TriggerFiredEventArgs(_actionMap[wheelAction], e.Point));
             PointCapture.Instance.State = CaptureState.TriggerFired;
             handled = PointCapture.Instance.Mode != CaptureMode.UserDisabled;
         }
     }
 }
Exemple #7
0
 private void MouseHook_MouseDown(LowLevelMouseMessage evt, ref bool handled)
 {
     if (PointCapture.Instance.SourceDevice == Devices.Mouse)
     {
         if (PointCapture.Instance.State == CaptureState.CapturingInvalid || PointCapture.Instance.State == CaptureState.TriggerFired)
         {
             var actions = ApplicationManager.Instance.GetRecognizedDefinedAction(a => a.MouseHotkey == (MouseActions)evt.Button);
             if (actions != null && actions.Count != 0)
             {
                 handled = PointCapture.Instance.Mode != CaptureMode.UserDisabled;
             }
         }
     }
 }
Exemple #8
0
        /// <summary>
        ///   Gets the mouse button written in a windows message.
        /// </summary>
        ///
        public static MouseButtons GetMouseButton(LowLevelMouseMessage message)
        {
            switch (message)
            {
            case LowLevelMouseMessage.WM_LBUTTONDOWN:
            case LowLevelMouseMessage.WM_LBUTTONUP:
                return(MouseButtons.Left);

            case LowLevelMouseMessage.WM_RBUTTONUP:
            case LowLevelMouseMessage.WM_RBUTTONDOWN:
                return(MouseButtons.Right);

            default:
                return(MouseButtons.None);
            }
        }
Exemple #9
0
 private void MouseHook_MouseWheel(LowLevelMouseMessage e, ref bool handled)
 {
     if (PointCapture.Instance.SourceDevice == Devices.Mouse)
     {
         if (PointCapture.Instance.State == CaptureState.CapturingInvalid || PointCapture.Instance.State == CaptureState.TriggerFired)
         {
             MouseActions wheelAction = e.MouseData > 0 ? MouseActions.WheelForward : e.MouseData < 0 ? MouseActions.WheelBackward : MouseActions.None;
             var          actions     = ApplicationManager.Instance.GetRecognizedDefinedAction(a => a.MouseHotkey == wheelAction);
             if (actions != null && actions.Count != 0)
             {
                 OnTriggerFired(new TriggerFiredEventArgs(actions, e.Point));
                 PointCapture.Instance.State = CaptureState.TriggerFired;
                 handled = PointCapture.Instance.Mode != CaptureMode.UserDisabled;
             }
         }
     }
 }
        private void LowLevelMouseHook_MouseMove(LowLevelMouseMessage mouseMessage, ref bool handled)
        {
            var args = new InputPointsEventArgs(new List <InputPoint>(new[] { new InputPoint(1, mouseMessage.Point) }), Device.Mouse);

            OnPointMove(args);
        }
Exemple #11
0
 public MouseMessageEventArgs(MouseButtons button, int clicks, int x, int y, int delta, LowLevelMouseMessage Message) : base(button, clicks, x, y, delta)
 {
     this.MouseMessage = Message;
 }
        /// <summary>
        ///   Gets the mouse button written in a windows message.
        /// </summary>
        /// 
        public static MouseButtons GetMouseButton(LowLevelMouseMessage message)
        {
            switch (message)
            {
                case LowLevelMouseMessage.WM_LBUTTONDOWN:
                case LowLevelMouseMessage.WM_LBUTTONUP:
                    return MouseButtons.Left;

                case LowLevelMouseMessage.WM_RBUTTONUP:
                case LowLevelMouseMessage.WM_RBUTTONDOWN:
                    return MouseButtons.Right;

                default:
                    return MouseButtons.None;
            }
        }
        private void lowLevelMouseProcHook(LowLevelMouseMessage message, MouseLowLevelHookStruct info)
        {
            Current = info.pt;

            switch (message)
            {
                case LowLevelMouseMessage.WM_LBUTTONUP:
                case LowLevelMouseMessage.WM_RBUTTONUP:
                    if (MouseUp != null) MouseUp(this, EventArgs.Empty);
                    break;

                case LowLevelMouseMessage.WM_LBUTTONDOWN:
                case LowLevelMouseMessage.WM_RBUTTONDOWN:
                    if (MouseDown != null) MouseDown(this, EventArgs.Empty);
                    break;

                case LowLevelMouseMessage.WM_MOUSEMOVE:
                    if (MouseMove != null) MouseMove(this, EventArgs.Empty);
                    break;

                default: break;
            }
        }
Exemple #14
0
        public void TranslateMouseEvent(LowLevelMouseMessage Message)
        {
            // Store which mouse event occured
            MouseEvent = (MouseEvents)Message.Message;

            // Define new MouseMessageEventArgs to get handled state
            MouseMessageEventArgs args = null;

            switch (MouseEvent)
            {
            case MouseEvents.LeftButtonDown:
                args = new MouseMessageEventArgs(MouseButtons.Left, 1, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseDown(args);

                break;

            case MouseEvents.LeftButtonUp:
                args = new MouseMessageEventArgs(MouseButtons.Left, 1, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseUp(args);

                break;

            case MouseEvents.RightButtonDown:
                args = new MouseMessageEventArgs(MouseButtons.Right, 1, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseDown(args);

                break;

            case MouseEvents.RightButtonUp:
                args = new MouseMessageEventArgs(MouseButtons.Right, 1, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseUp(args);

                break;

            case MouseEvents.MiddleButtonDown:
                args = new MouseMessageEventArgs(MouseButtons.Middle, 1, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseDown(args);

                break;

            case MouseEvents.MiddleButtonUp:
                args = new MouseMessageEventArgs(MouseButtons.Middle, 1, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseUp(args);

                break;

            case MouseEvents.Move:
                args = new MouseMessageEventArgs(MouseButtons.None, 0, Message.Point.X, Message.Point.Y, 0, Message);
                OnMouseMove(args);

                break;

            default:
                args = new MouseMessageEventArgs(MouseButtons.None, 0, 0, 0, 0, Message);                               // Catch additional buttons

                break;
            }

            // Set handled property of class to MouseMessageEventArgs handled flag to notify the main mouse intercept that one of the events handled it
            this.Handled = args.Handled;
        }