コード例 #1
0
    // Update is called once per frame
    private void Update()
    {
        if (Input.GetAxis("Mouse X") != 0 || Input.GetAxis("Mouse Y") != 0)
        {
            mouseControlled = true;
        }
        else if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0)
        {
            mouseControlled = false;
        }

        if (mouseControlled)
        {
            _cursorPosition = MouseOperations.GetCursorPosition();
        }
        else
        {
            _cursorPosition.X += (int)(Input.GetAxis("Horizontal") * Game.Config.MapMouseEmulationSpeed);
            _cursorPosition.Y -= (int)(Input.GetAxis("Vertical") * Game.Config.MapMouseEmulationSpeed);

            MouseOperations.SetCursorPosition(_cursorPosition);
        }

        if (Input.GetAxis("Fire1") != 0 || Input.GetAxis("Submit") != 0)
        {
            MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp | MouseOperations.MouseEventFlags.LeftDown);
        }
    }
コード例 #2
0
        public static void LinearSmoothMove(Point newPosition, int steps)
        {
            MouseOperations.MousePoint start = MouseOperations.GetCursorPosition();
            Point  p         = new Point(start.X, start.Y);
            PointF iterPoint = p;

            // Find the slope of the line segment defined by start and newPosition
            PointF slope = new PointF(newPosition.X - start.X, newPosition.Y - start.Y);

            // Divide by the number of steps
            slope.X = slope.X / steps;
            slope.Y = slope.Y / steps;

            // Move the mouse to each iterative point.
            for (int i = 0; i < steps; i++)
            {
                iterPoint = new PointF(iterPoint.X + slope.X, iterPoint.Y + slope.Y);

                MouseOperations.MousePoint o = new MouseOperations.MousePoint((int)iterPoint.X, (int)iterPoint.Y);
                MouseOperations.SetCursorPosition(o);
                Thread.Sleep(1);
            }

            // Move the mouse to the final destination.
            MouseOperations.SetCursorPosition(newPosition.X, newPosition.Y);
        }
コード例 #3
0
        static void aTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            Console.WriteLine("Click..");
            MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown);
            MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp);

            MouseOperations.MousePoint point = MouseOperations.GetCursorPosition();
            point.X = point.X + (isPositive ? mouseSteps : -1 * mouseSteps);
            //point.Y = point.Y +(isPositive ? mouseSteps : -mouseSteps);
            isPositive = !isPositive;
            MouseOperations.SetCursorPosition(point);
        }
コード例 #4
0
        public void ThenJustDoIt()
        {
            var window = Desktop.Instance.Windows().FirstOrDefault(w => w.AutomationElement.Current.ProcessId == 24740);
            var button = window.Get <TestStack.White.UIItems.Button>(SearchCriteria.ByText("Click Here"));

            var clickPoint = button.AutomationElement.GetClickablePoint();

            MouseOperations.MousePoint mousePoint = new MouseOperations.MousePoint((int)clickPoint.X, (int)clickPoint.Y);
            MouseOperations.SetCursorPosition(mousePoint);

            for (int i = 0; i < 20000; i++)
            {
                MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown | MouseOperations.MouseEventFlags.LeftUp, mousePoint);
            }
        }
コード例 #5
0
        public static void MoveTile(byte tileIndex, byte boardIndex)
        {
            // Get current cursor position
            MouseOperations.MousePoint startPos = MouseOperations.GetCursorPosition();
            //userpb1.Top = 300;
            //userpb1.Left = 800;

            Form form  = Program.MainView;
            int  formX = form.DesktopLocation.X;
            int  formY = form.DesktopLocation.Y;

            // Tile 1
            MouseOperations.SetCursorPosition(formX + 810 + tileIndex * 49, formY + 350);
            MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftDown);
            MouseOperations.SetCursorPosition(formX + 30 + boardIndex % 15 * 50, formY + 80 + boardIndex / 15 * 50);
            MouseOperations.MouseEvent(MouseOperations.MouseEventFlags.LeftUp);
            Application.DoEvents();

            MouseOperations.SetCursorPosition(startPos);
        }