Simulating mouse movement (C#)

前端 未结 4 1879
没有蜡笔的小新
没有蜡笔的小新 2020-12-18 08:46

How would I go about making a small program that keeps moving the mouse upwards?


For those who would like to know, tt\'s a tiny one-use thing. I\'m playing Sta

相关标签:
4条回答
  • 2020-12-18 09:02

    This is a problem for mechanical programming, not CSharp.

    • You need to plug in a second mouse, and get a cheap variable speed corded drill.
    • Put a sanding drum on the drill, wrap it with striped paper, and set it to the lowest speed.
    • Then put a bracket on the non-rotating body of the drill that will hold the mouse with its sensor close to the spinning striped paper.
    • Ensure the mouse is facing the right way to simulate an up movement.

    To execute the program, flip the power switch on the power strip the drill is plugged into.

    Edit: if you want more portable code, use a cordless drill. Batteries not included.

    0 讨论(0)
  • 2020-12-18 09:02

    I don't know the game but internally windows sends out messages for mouse move. These are sent by the SendMessage() API call to the application. In C# you would either have to use the same Win32 API directly or perhaps by creating/sending an event? Not sure how to send an event to another running application though.

    The SendMessage() Win32 API call defined in C# would look like this:

    [DllImport("user32.dll")]
            public static extern int SendMessage(
                  int hWnd,     // handle to destination window
                  uint Msg,     // message
                  long wParam,  // first message parameter
                  long lParam   // second message parameter
                  );
    
    0 讨论(0)
  • 2020-12-18 09:16

    SetCursorPos will do this in unmanaged code. I'm not sure if there's a .NET method to do the same, but you can always use com interop. It's in User32.dll

    [DllImport("user32.dll")]
    static extern bool SetCursorPos(int X, int Y);
    

    a little google produces this as a SetCursorPos equivalent for .net

    System.Windows.Form.Cursor.Position
    
    0 讨论(0)
  • 2020-12-18 09:20

    Did you try using a controller or joystick?

    http://www.merconnet.com/product_info.php?products_id=44

    0 讨论(0)
提交回复
热议问题