Exemple #1
0
        private async void OnMOuseCallback(MouseEvent evt, int x, int y, MouseEventFlags flags)
        {
            if (flags == MouseEventFlags.LButton)
            {
                if (_Arm != null)
                {
                    ArmBase tmpArm = _Arm;
                    _Arm = null;
                    await tmpArm.SetMagnetAsync(true);

                    await tmpArm.MoveToRelativeAsync(armAngle, armDistance + 8, armHeight);

                    await tmpArm.MoveToRelativeAsync(armAngle, armDistance + 8, -3.5);

                    await tmpArm.MoveToRelativeAsync(armAngle, armDistance, armHeight);

                    await tmpArm.MoveToRelativeAsync(armAngle, armDistance + 8, -3.5);

                    await tmpArm.SetMagnetAsync(false);

                    await tmpArm.MoveToRelativeAsync(armAngle, armDistance, armHeight);

                    _Arm = tmpArm;
                }
            }
        }
 public void Process(MouseEventFlags flag)
 {
     lock (_locker)
     {
         _current.Process(flag, this);
     }
 }
Exemple #3
0
        private void HandleMouseEvent(
            MouseButtonState previousMouseButtonState,
            MouseEventFlags eventFlags,
            MouseButtonState currentButtonState,
            COORD mousePosition)
        {
            if (eventFlags.HasFlag(MouseEventFlags.MOUSE_MOVED) &&
                currentButtonState == MouseButtonState.FROM_LEFT_1ST_BUTTON_PRESSED)
            {
                var elementHit = _display.HitTest(mousePosition.X, mousePosition.Y);
                if (elementHit == _battleField)
                {
                    _battleField.SelectPositionNear(mousePosition.X, mousePosition.Y);
                }
            }

            if (eventFlags.HasFlag(MouseEventFlags.MOUSE_BUTTON_STATE_CHANGED))
            {
                if (currentButtonState == MouseButtonState.ALL_RELEASED &&
                    previousMouseButtonState == MouseButtonState.FROM_LEFT_1ST_BUTTON_PRESSED)
                {
                    //left button clicked
                    var elementHit = _display.HitTest(mousePosition.X, mousePosition.Y);
                    if (elementHit == _battleField)
                    {
                        _battleField.SelectPositionNear(mousePosition.X, mousePosition.Y);
                        if (_battleField.SelectedPosition != null)
                        {
                            ConfirmSelectedPosition();
                        }
                    }
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// Lefts the click.
        /// </summary>
        /// <param name="xPoint">The x point.</param>
        private static void LeftClick(Point xPoint)
        {
            MOUSEINPUT xMouseInput = new MOUSEINPUT();
            INPUT      xInput      = new INPUT();
            //			MouseEventFlags xFlags= MouseEventFlags.LEFTDOWN&MouseEventFlags.LEFTUP&MouseEventFlags.ABSOLUTE&MouseEventFlags.ABSOLUTE;
            MouseEventFlags xFlags = MouseEventFlags.ABSOLUTE & MouseEventFlags.MOVE;

            xMouseInput.mouseData   = 0;
            xMouseInput.time        = 0;
            xMouseInput.dx          = xPoint.X;
            xMouseInput.dy          = xPoint.Y;
            xMouseInput.dwFlags     = (int)xFlags;
            xMouseInput.dwExtraInfo = IntPtr.Zero;

            xInput.mi   = xMouseInput;
            xInput.type = (int)InputType.Mouse;

            int xSize = Marshal.SizeOf(xInput);

            SendInput(1, new INPUT[] { xInput }, xSize);

            xInput.mi.dwFlags = (int)MouseEventFlags.LEFTDOWN;
            xMouseInput.dx    = 0;
            xMouseInput.dy    = 0;
            SendInput(1, new INPUT[] { xInput }, xSize);

            xInput.mi.dwFlags = (int)MouseEventFlags.LEFTUP;
            xMouseInput.dx    = 0;
            xMouseInput.dy    = 0;
            SendInput(1, new INPUT[] { xInput }, xSize);
        }
 public void Process(MouseEventFlags flag)
 {
     lock (_locker)
     {
         _current.Process(flag, this);
     }
 }
    public static void MouseEvent(MouseEventFlags value)
    {
        MousePoint position = GetCursorPosition();

        if (value == MouseEventFlags.Move)
        {
            mouse_event
                ((int)value,
                100,
                100,
                0,
                0)
            ;
            mouse_event
                ((int)value,
                -100,
                -100,
                0,
                0)
            ;
        }
        else
        {
            mouse_event
                ((int)value,
                position.X,
                position.Y,
                0,
                0)
            ;
        }
    }
 public ConsoleMouseEventArgs(MOUSE_EVENT_RECORD rec)
 {
     MousePosition = new Point(rec.MousePosition.X, rec.MousePosition.Y);
     ButtonState   = rec.ButtonState;
     Scroll        = rec.Scroll;
     ControlKeys   = rec.ControlKeys;
     EventFlags    = rec.EventFlags;
 }
Exemple #8
0
 public MouseEvent(short x, short y, ButtonState buttonState, ControlKeyState controlKeyState, MouseEventFlags mouseEventFlags)
 {
     this.X               = x;
     this.Y               = y;
     this.ButtonState     = buttonState;
     this.ControlKeyState = controlKeyState;
     this.MouseEventFlags = mouseEventFlags;
 }
Exemple #9
0
 public void Process(MouseEventFlags flag, StateMachine machine)
 {
     if (flag == MouseEventFlags.RightUp)
     {
         Console.WriteLine("right down->idle");
         machine.Idle();
     }
 }
Exemple #10
0
 public void Process(MouseEventFlags flag, StateMachine machine)
 {
     if (flag == MouseEventFlags.LeftUp || flag == MouseEventFlags.RightUp)
     {
         Log.Info("middle down->idle");
         machine.Idle();
     }
 }
 /// <summary>
 /// 由事件参数初始化,通常用于发包
 /// </summary>
 /// <param name="flags">标志位集</param>
 /// <param name="dx">X坐标</param>
 /// <param name="dy">Y坐标</param>
 /// <param name="delta">滚轮数据</param>
 /// <remarks>
 /// 所有参数实际只有低16位有效
 /// 参数详解详情参见 "mouse_event" API.
 /// </remarks>
 public MouseMessage(MouseEventFlags flags, int dx, int dy, int delta)
     : base(MessageType.Mouse)
 {
     Flags = flags;
     X     = dx;
     Y     = dy;
     Delta = delta > 0 ? delta : (-delta | 0x8000);
 }
Exemple #12
0
        //====================================================================

        //====================================================================
        // Evento do mouse
        //====================================================================
        private void SetMouseEvent(MouseEventFlags _Event = MouseEventFlags.Null, int X = 0, int Y = 0)
        {
            SetCursorPos(X, Y);
            if (_Event != MouseEventFlags.Null)
            {
                mouse_event((int)_Event, X, Y, 0, 0);
            }
        }
Exemple #13
0
 public void MouseEvent(MouseEventFlags value)
 {
     mouse_event
         ((int)value,
         103, 72,
         0,
         0)
     ;
 }
Exemple #14
0
        public static void PerformAction(MouseEventFlags value)
        {
            Point position = GetCursorPosition();

            MouseMoveTo(position.X, position.Y);

            mouse_event((int)value, position.X, position.Y, 0, 0);
            Thread.Sleep(TimeBetweenActions);
        }
Exemple #15
0
 public void MouseEvent(MouseEventFlags value)
 {
     mouse_event
         ((int)value,
          103,72,
          0,
          0)
         ;
 }
Exemple #16
0
 public MouseData(int dx, int dy, int mouseData, MouseEventFlags dwFlags, uint time, UIntPtr dwExtraInfo)
 {
     this.dx          = dx;
     this.dy          = dy;
     this.mouseData   = mouseData;
     this.dwFlags     = dwFlags;
     this.time        = time;
     this.dwExtraInfo = dwExtraInfo;
 }
 // TODO static ?
 public void MouseEvent(MouseEventFlags value)
 {
     Debug.Log("MouseEvent");
     mouse_event(
         (int)value,
         mousePos.X,
         mousePos.Y,
         0,
         0);
 }
Exemple #18
0
 public static void MouseEvent(MouseEventFlags action)
 {
     mouse_event
         ((int)action,
         0,  // типо X но жмёт все равно на позицию курсора
         0,  // типо Y но жмёт все равно на позицию курсора
         0,
         0)
     ;
 }
 // TODO static ?
 public void MouseEvent(MouseEventFlags value)
 {
     Debug.Log("MouseEvent");
     mouse_event(
         (int)value,
          mousePos.X,
          mousePos.Y,
          0,
          0);
 }
Exemple #20
0
 public static void MouseEvent(MouseEventFlags value, int x, int y)
 {
     mouse_event
         ((int)value,
         x,
         y,
         0,
         0)
     ;
 }
Exemple #21
0
        // クリック系のテンプレート関数
        void click(IplImage tmpl, MouseEventFlags flg1, MouseEventFlags flg2, int cnt, double threshold)
        {
            var pos = findTemplatePoint(tmpl, threshold);

            if (pos == null)
            {
                return;
            }
            click(pos.Value.X, pos.Value.Y, flg1, flg2, cnt);
        }
 public static void MouseEvent(MouseEventFlags value, MousePoint position)
 {
     mouse_event
         ((int)value,
         position.X,
         position.Y,
         0,
         0)
     ;
 }
 public static void MouseEvent(MouseEventFlags value, int x, int y)
 {
     mouse_event
         ((int)value,
          x,
          y,
          0,
          0)
         ;
 }
Exemple #24
0
        private static void MouseEvent(MouseEventFlags value)
        {
            MousePoint position = GetCursorPosition();

            mouse_event
                ((int)value,
                position.X,
                position.Y,
                0,
                0);
        }
 public static void MouseEvent(MouseEventFlags value)
 {
     position = GetCursorPosition();
     mouse_event
         ((int)value,
         position.X,
         position.Y,
         0,
         0)
     ;
 }
Exemple #26
0
        public static void MouseEvent(MouseEventFlags value)
        {
            MousePoint position = GetCursorPosition();

            mouse_event
                ((int)value,
                 position.X,
                 position.Y,
                 0,
                 0);
        }
Exemple #27
0
        /// <summary>
        /// Simulate mouse actions
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Simulate_Click(object sender, EventArgs e)
        {
            //object rows = (dataGridView1.SelectedRows.Count > 0) ?  dataGridView1.SelectedRows : dataGridView1.Rows;
            POINT point;

            point.x = point.y = 0;
            IntPtr hWnd = IntPtr.Zero;

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                Thread.Sleep(40);
                try
                {
                    int x = int.Parse(row.Cells[1].Value.ToString());
                    int y = int.Parse(row.Cells[2].Value.ToString());
                    point.x = x;
                    point.y = y;
                    hWnd    = windows[(IntPtr)int.Parse(row.Cells[3].Value.ToString())].owner;

                    MouseEventFlags flag = MouseEventFlags.MOVE;
                    switch (row.Cells[0].Value.ToString())
                    {
                    case "Move":
                        User32.SetCursorPos(x, y);
                        continue;

                    case "Left Button Down":
                        flag = MouseEventFlags.LEFTDOWN;
                        break;

                    case "Right Button Down":
                        flag = MouseEventFlags.RIGHTDOWN;
                        break;

                    case "Left Button Up":
                        flag = MouseEventFlags.LEFTUP;
                        break;

                    case "Right Button Up":
                        flag = MouseEventFlags.RIGHTUP;
                        break;
                    }

                    // Move the cursor
                    User32.SetCursorPos(x, y);
                    // Click a mouse button
                    User32.mouse_event(flag, 0, 0, 0, 0);
                }
                catch
                {
                    continue;
                }
            }
        }
Exemple #28
0
        public static void MouseEventAt(MouseEventFlags value, int x, int y)
        {
            var position = new MousePoint(x, y);

            mouse_event
                ((int)value,
                position.X,
                position.Y,
                0,
                0)
            ;
        }
        public static void MouseEvent(MouseEventFlags value)
        {
            Vector2 position = GetCursorPosition();

            mouse_event
                ((int)value,
                (int)position.x,
                (int)position.y,
                0,
                0)
            ;
        }
        public void MouseEvent(MouseEventFlags flags, int x, int y)
        {
            var messageStream = new System.IO.MemoryStream();
            var messageWriter = new System.IO.BinaryWriter(messageStream);
            messageWriter.Write(0);
            messageWriter.Write((uint)flags);
            messageWriter.Write(x);
            messageWriter.Write(y);
            messageWriter.Write(0);

            SendMessage(messageStream.ToArray());
        }
Exemple #31
0
        public static void MouseEventXY(int x, int y, MouseEventFlags value)
        {
            MousePoint position = SetCursorPosition(x, y);

            mouse_event
                ((int)value,
                position.X,
                position.Y,
                0,
                0)
            ;
        }
Exemple #32
0
            public static void MouseEvent(MouseEventFlags value)
            {
                MousePoint position = GetCursorPosition();

                mouse_event
                    ((int)value,
                    position.X,
                    position.Y,
                    0,
                    UIntPtr.Zero)
                ;
            }
        private static void MouseEvent(MouseEventFlags value, int data = 0)
        {
            Point position = GetCursorPosition();

            mouse_event
                ((int)value,
                 position.X,
                 position.Y,
                 data,
                 0)
                ;
        }
Exemple #34
0
        private static void MouseEvent(MouseEventFlags value, int offsetX, int offsetY)
        {
            MousePoint position = GetCursorPosition();

            mouse_event
                ((int)value,
                position.X + offsetX,
                position.Y + offsetX,
                0,
                0)
            ;
        }
Exemple #35
0
        public static void MouseEvent(MouseEventFlags value, int dwData, int dwExtraInfo)
        {
            MousePoint position = GetCursorPosition();

            mouse_event
                ((int)value,
                position.X,
                position.Y,
                dwData,
                dwExtraInfo)
            ;
        }
Exemple #36
0
        public static void MouseEvent(MouseEventFlags value, Point position)
        {
            Point current = new Point(Cursor.Position.X, Cursor.Position.Y);

            Cursor.Position = position;
            mouse_event
                ((int)(value),
                position.X,
                position.Y,
                0,
                0);
            Cursor.Position = current;
        }
Exemple #37
0
 public void Process(MouseEventFlags flag, StateMachine machine)
 {
     if (flag == MouseEventFlags.LeftDown)
     {
         Log.Info("idle -> left down p");
         machine.LeftDownPending();
     }
     else if (flag == MouseEventFlags.RightDown)
     {
         Log.Info("idle -> right down p");
         machine.RightDownPending();
     }
 }
 public void Process(MouseEventFlags flag, StateMachine machine)
 {
     if (flag == MouseEventFlags.Absolute)
     {
         Log.Info("middle down p->middle down");
         machine.MiddleDown();
     }
     else if (flag == MouseEventFlags.Move)
     {
         Log.Info("middle down p-> idle (move)");
         Log.Debug("middle down cancelled");
         machine.Idle();
     }
 }
        public static void MouseClick(int x, int y, MouseEventFlags mefDown)
        {
            MouseEventFlags mefUp = MouseEventFlags.LEFTUP;
            switch (mefDown)
            {
                case MouseEventFlags.RIGHTDOWN: mefUp = MouseEventFlags.RIGHTUP; break;
            }

            Point prevCursorPos = Cursor.Position;
            Cursor.Position = new Point(x, y);
            mouse_event(mefDown | MouseEventFlags.ABSOLUTE, x, y, 0, 0);
            mouse_event(mefUp, 0, 0, 0, 0);
            Cursor.Position = prevCursorPos;
            hWnd = WindowFromPoint(new POINT(x, y));
        }
Exemple #40
0
 public static InputWrapper MouseWrapper(MouseEventFlags flags, int data)
 {
     return new InputWrapper
     {
         Type = SendInputType.Mouse,
         MKH = new MouseKeyboardHardwareUnion
         {
             Mouse = new MouseInputData
             {
                 Flags = flags,
                 MouseData = data
             }
         }
     };
 }
Exemple #41
0
 private static void MouseInput(int dx, int dy, MouseEventFlags flags) 
 {
     INPUT input = new INPUT();
     input.type = SendInputEventType.InputMouse;
     input.mkhi.mi.dwExtraInfo = IntPtr.Zero;
     input.mkhi.mi.dx = dx;
     input.mkhi.mi.dy = dy;
     input.mkhi.mi.time = 0;
     input.mkhi.mi.mouseData = 0;
     input.mkhi.mi.dwFlags = flags;
     var result = SendInput(1, ref input, Marshal.SizeOf(typeof(INPUT)));
     if (result == 0)
     {
         Debug.WriteLine(Marshal.GetLastWin32Error());
     }
 }
 public void Process(MouseEventFlags flag, StateMachine machine)
 {
     if (flag == MouseEventFlags.LeftDown)
     {
         Console.WriteLine("right down p->middle down p");
         machine.MiddleDownPending();
     }
     else if (flag == MouseEventFlags.Absolute)
     {
         Console.WriteLine("right down p->right down");
         machine.RightDown();
     }
     else if (flag == MouseEventFlags.RightUp)
     {
         Console.WriteLine("right down p->idle");
         machine.Idle();
     }
     else if (flag == MouseEventFlags.Move)
     {
         Console.WriteLine("right down p-> idle (move)");
         Log.Debug("right down cancelled");
         machine.Idle();
     }
 }
 public void MouseEvent(MouseEventFlags value)
 {
     MouseEvent(value, 0);
 }
Exemple #44
0
 public static void MouseClick(MouseEventFlags val, int dwData)
 {
     POINT pos = GetCursorPosition();
     mouse_event((uint)val, (uint)pos.x, (uint)pos.y, dwData, 0);
 }
Exemple #45
0
 public static void MouseClick(MouseEventFlags val)
 {
     MouseClick(val, 0);
 }
Exemple #46
0
 public static extern void mouse_event(MouseEventFlags dwFlags, uint dx, uint dy, uint dwData, int dwExtraInfo);
Exemple #47
0
 public static void MouseEvent(MouseEventFlags mevent, uint x, uint y, uint dwData, int dwExtraInfo)
 {
     _mouse_event((uint)mevent, x, y, dwData, dwExtraInfo);
 }
Exemple #48
0
    /// <summary>
    /// Initiates a mouse event.
    /// </summary>
    /// <param name="value">Dictates which mouse action to take.</param>
    private static void MouseEvent(MouseEventFlags value)
    {
        Point position = GetCursorPosition();

        mouse_event
            ((int)value,
             (int)position.X,
             (int)position.Y,
             0,
             0)
            ;
    }
Exemple #49
0
 internal static extern void mouse_event(MouseEventFlags dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
 public static void MouseClick(int x, int y, MouseEventFlags mefDown)
 {
     PressedMouseMove(int.MinValue, int.MinValue, x, y, mefDown);
 }
Exemple #51
0
		private static extern void mouse_event(MouseEventFlags dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
        public static void PressedMouseMove(int xFrom, int yFrom, int xTo, int yTo, MouseEventFlags mefDown)
        {
            MouseEventFlags mefUp = mefDown == MouseEventFlags.LEFTDOWN ? MouseEventFlags.LEFTUP : MouseEventFlags.RIGHTUP;

            //Point prevCursorPos = Cursor.Position;

            int xDown, yDown, xUp, yUp;
            bool drag;
            if (drag = !(xFrom == int.MinValue || yFrom == int.MinValue))
            {
                // Movement in pressed state
                xDown = xFrom;
                yDown = yFrom;
                xUp = xTo;
                yUp = yTo;
            }
            else
            {
                // Click, no movement in pressed state
                xDown = xUp = xTo;
                yDown = yUp = yTo;
            }

            Cursor.Position = new Point(xDown, yDown);
            mouse_event(mefDown | MouseEventFlags.ABSOLUTE, xDown, yDown, 0, 0);

            if (drag)
            {
                mouse_event(MouseEventFlags.MOVE | MouseEventFlags.ABSOLUTE, xUp - xDown, yUp - yDown, 0, 0);
                Cursor.Position = new Point(xUp, yUp);
            }

            mouse_event(mefUp | MouseEventFlags.ABSOLUTE, 0, 0, 0, 0);

            //Cursor.Position = prevCursorPos;

            hWnd = WindowFromPoint(new POINT(xUp, yUp));
        }
Exemple #53
0
 private static extern void mouse_event(MouseEventFlags flags, uint dx, uint dy, int data, int extraInfo);
Exemple #54
0
 private static void Action(MouseEventFlags Flags, uint X, uint Y, int data = 0)
 {
     mouse_event(Flags, X, Y, data, 0);
 }
Exemple #55
0
 public static void MouseEvent(MouseEventFlags e, uint x, uint y)
 {
     mouse_event((uint)e, x, y, 0, UIntPtr.Zero);
 }
 public void MouseEvent(MouseEventFlags value, long data)
 {
     var position = GetCursorPosition();
     mouse_event((uint)value, (uint)position.X, (uint)position.Y, (uint) data, (UIntPtr) 0);
 }
Exemple #57
0
 private static void MouseEvent(MouseEventFlags value, Point p)
 {
     mouse_event((int)value, p.X, p.Y, 0, 0);
 }