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; } }
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; } } }
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; } } } }
/// <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 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); }
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; } }
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; }