模拟鼠标移动(C#)

发布于 2024-08-16 05:39:10 字数 146 浏览 3 评论 0原文

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


对于那些想知道的人来说,这是一个小小的一次性的东西。我正在玩《星球大战:原力释放》。在控制台版本中,您将向上握住右摇杆。在 PC 上的控制台端口中,您正在使用鼠标。也许你能理解我的沮丧。

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 Star Wars The Force Unleashed. In console versions, you would hold the right stick upwards. In the bad console port on the PC, you're using your mouse. Maybe you can understand my frustration.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一向肩并 2024-08-23 05:39:10

SetCursorPos 将在非托管代码中执行此操作。我不确定是否有 .NET 方法可以执行相同的操作,但您始终可以使用 com 互操作。它位于 User32.dll 中,

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

谷歌将其生成为 SetCursorPos 相当于 .net

System.Windows.Form.Cursor.Position

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
长安忆 2024-08-23 05:39:10

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

  • 您需要插入第二个鼠标,
    并获得便宜的变速有线
    钻头。
  • 将打磨滚筒放在
    钻孔,用条纹纸包起来,
    并将其设置为最低速度。
  • 然后在不旋转的地方放一个支架
    将固定钻头的主体
    鼠标的传感器靠近
    旋转条纹纸。
  • 确保鼠标朝向正确的方向
    模拟向上运动。

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

编辑:如果您想要更便携的代码,请使用无绳电钻。不含电池。

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.

嘿看小鸭子会跑 2024-08-23 05:39:10

我不知道这个游戏,但 Windows 内部会发出鼠标移动的消息。这些由 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
              );

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
              );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文