模拟鼠标移动(C#)

时间:2009-12-22 22:24:59

标签: c# mousemove

我如何制作一个不断向上移动鼠标的小程序?


对于那些想知道的人来说,这是一个很小的用途。我正在玩星球大战原力释放。在控制台版本中,您可以向上保持正确的方向。在PC上的 bad 控制台端口中,您正在使用鼠标。也许你能理解我的沮丧。

4 个答案:

答案 0 :(得分:15)

这是机械编程的问题,而不是CSharp。

  • 您需要插入第二只鼠标, 并得到一个便宜的变速线 钻头。
  • 在上面放一个打磨鼓 钻,用条纹纸包起来, 并将其设置为最低速度。
  • 然后在非旋转上放一个支架 钻头的主体将举行 鼠标与其传感器接近 旋转条纹纸。
  • 确保鼠标朝向正确的方向 模拟向上运动。

要执行程序,请翻转钻头插入的电源板上的电源开关。

编辑:如果您想要更多可移植代码,请使用无绳电钻。电池不包括在内。

答案 1 :(得分:9)

SetCursorPos将在非托管代码中执行此操作。我不确定是否有.NET方法也可以这样做,但你总是可以使用com interop。它在User32.dll

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

一个小谷歌将其生成为SetCursorPos equivalent for .net

System.Windows.Form.Cursor.Position

答案 2 :(得分:3)

我不知道游戏,但内部窗口发送鼠标移动的消息。这些是通过SendMessage() API调用发送到应用程序的。在C#中你要么直接使用相同的Win32 API,要么可能通过创建/发送事件?不知道如何将事件发送到另一个正在运行的应用程序。

C#中定义的SendMessage()Win32 API调用如下所示:

[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
              );

答案 3 :(得分:2)

您是否尝试使用控制器或操纵杆?

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