Ejemplo n.º 1
0
 public MouseEntry(bool isUp, MouseButtons button, ManagedWinapi.Windows.POINT point)
 {
     this.isUp   = isUp;
     this.button = button;
     this.point  = point;
     llEntry     = new LLRecordEntry();
 }
Ejemplo n.º 2
0
 protected void MouseHook_MouseIntercepted(int msg, ManagedWinapi.Windows.POINT pt, int mouseData, int flags, int time, IntPtr dwExtraInfo, ref bool handled)
 {
     // Translate raw mouse event into individiual events (MouseDown, MouseUp, and MouseMove) and stop the mouse event chain if
     // one of the individual events handled it.
     MouseEventTranslator.TranslateMouseEvent(new LowLevelMouseMessage(msg, pt, mouseData, flags, time, dwExtraInfo));
     handled = MouseEventTranslator.Handled;
 }
Ejemplo n.º 3
0
        void mouseHook_MouseIntercepted(int msg, ManagedWinapi.Windows.POINT pt, int mouseData, int flags, int time, IntPtr dwExtraInfo, ref bool handled)
        {
            if (msg == 513 || msg == 516)
            {
                Close();
            }

            return;
        }
Ejemplo n.º 4
0
        private void llMouseHook_MouseIntercepted(int msg, ManagedWinapi.Windows.POINT pt, int mouseData, int flags, int time, IntPtr dwExtraInfo, ref bool handled)
        {
            int lastIndex = 0;

            switch (msg)
            {
            case (int)Structures.MouseMessages.WM_LBUTTONDOWN:
                threads.Add(new Thread(new ParameterizedThreadStart(CreateMouseEntry)));
                lastIndex = threads.Count - 1;
                threads[lastIndex].SetApartmentState(ApartmentState.STA);
                threads[lastIndex].Start(
                    new MouseEntry(false, MouseButtons.Left, pt));
                threads[lastIndex].Join();
                threads.RemoveAt(lastIndex);
                break;

            case (int)Structures.MouseMessages.WM_LBUTTONUP:
                threads.Add(new Thread(new ParameterizedThreadStart(CreateMouseEntry)));
                lastIndex = threads.Count - 1;
                threads[lastIndex].SetApartmentState(ApartmentState.STA);
                threads[lastIndex].Start(
                    new MouseEntry(true, MouseButtons.Left, pt));
                threads[lastIndex].Join();
                threads.RemoveAt(lastIndex);
                break;

            case (int)Structures.MouseMessages.WM_MBUTTONDOWN:
                threads.Add(new Thread(new ParameterizedThreadStart(CreateMouseEntry)));
                lastIndex = threads.Count - 1;
                threads[lastIndex].SetApartmentState(ApartmentState.STA);
                threads[lastIndex].Start(
                    new MouseEntry(false, MouseButtons.Middle, pt));
                threads[lastIndex].Join();
                threads.RemoveAt(lastIndex);
                break;

            case (int)Structures.MouseMessages.WM_MBUTTONUP:
                threads.Add(new Thread(new ParameterizedThreadStart(CreateMouseEntry)));
                lastIndex = threads.Count - 1;
                threads[lastIndex].SetApartmentState(ApartmentState.STA);
                threads[lastIndex].Start(
                    new MouseEntry(true, MouseButtons.Middle, pt));
                threads[lastIndex].Join();
                threads.RemoveAt(lastIndex);
                break;

            case (int)Structures.MouseMessages.WM_RBUTTONDOWN:
                threads.Add(new Thread(new ParameterizedThreadStart(CreateMouseEntry)));
                lastIndex = threads.Count - 1;
                threads[lastIndex].SetApartmentState(ApartmentState.STA);
                threads[lastIndex].Start(
                    new MouseEntry(false, MouseButtons.Right, pt));
                threads[lastIndex].Join();
                threads.RemoveAt(lastIndex);
                break;

            case (int)Structures.MouseMessages.WM_RBUTTONUP:
                threads.Add(new Thread(new ParameterizedThreadStart(CreateMouseEntry)));
                lastIndex = threads.Count - 1;
                threads[lastIndex].SetApartmentState(ApartmentState.STA);
                threads[lastIndex].Start(
                    new MouseEntry(true, MouseButtons.Right, pt));
                threads[lastIndex].Join();
                threads.RemoveAt(lastIndex);
                break;

            default:
                break;
            }
        }
Ejemplo n.º 5
0
        private void msHook_MouseIntercepted(int msg, ManagedWinapi.Windows.POINT pt, int mouseData, int flags, int time, IntPtr dwExtraInfo, ref bool handled)
        {
            MouseEvents   evt          = 0;
            Win32Input    input        = new Win32Input();
            MouseMessages mouseMessage = (MouseMessages)msg;

            input.type         = 0;
            input.mi           = new MouseInput();
            input.mi.dx        = (int)(pt.X * (65535f / (Screen.PrimaryScreen.Bounds.Width)));
            input.mi.dy        = (int)(pt.Y * (65535f / Screen.PrimaryScreen.Bounds.Height));
            input.mi.mouseData = 0;
            switch (mouseMessage)
            {
            case MouseMessages.WM_MOUSEMOVE:
                evt = MouseEvents.MOVE;
                break;

            case MouseMessages.WM_LBUTTONDOWN:
                evt = MouseEvents.LEFTDOWN;
                break;

            case MouseMessages.WM_LBUTTONUP:
                evt = MouseEvents.LEFTUP;
                break;

            case MouseMessages.WM_MBUTTONDOWN:
                evt = MouseEvents.MIDDLEDOWN;
                break;

            case MouseMessages.WM_MBUTTONUP:
                evt = MouseEvents.MIDDLEUP;
                break;

            case MouseMessages.WM_RBUTTONDOWN:
                evt = MouseEvents.RIGHTDOWN;
                break;

            case MouseMessages.WM_RBUTTONUP:
                evt = MouseEvents.RIGHTUP;
                break;

            case MouseMessages.WM_MOUSEWHEEL:
            case MouseMessages.WM_MOUSEHWHEEL:
                evt = MouseEvents.WHEEL;
                input.mi.mouseData = (uint)(mouseData >> 16);
                break;

            case MouseMessages.WM_XBUTTONDOWN:
                evt = MouseEvents.XDOWN;
                input.mi.mouseData = (uint)(mouseData >> 16);
                break;

            case MouseMessages.WM_XBUTTONUP:
                evt = MouseEvents.XUP;
                input.mi.mouseData = (uint)(mouseData >> 16);
                break;

            default:
                break;
            }
            evt |= MouseEvents.ABSOLUTE;
            input.mi.dwFlags     = (uint)evt;
            input.mi.time        = 0;
            input.mi.dwExtraInfo = IntPtr.Zero;

            macroEntries.Add(new MacroRecordEntry(input, watch.ElapsedMilliseconds));
        }