侦听鼠标的程序不会对编程鼠标移动做出反应

Programs listening to mouse don't react to programmatical mouse movement

标题说明了一切;我写了一个程序,可以在屏幕上移动我的鼠标。 this.Cursor = new Cursor(Cursor.Current.Handle); Cursor.Position = new Point(list[i].X(), list[i].Y()); 但似乎像游戏和我的海盗船宏记录器(Corsair Utility Engine)这样的程序不会对此做出响应。有没有什么办法可以解决这个问题,让那些应用程序接收到这些动作?谢谢 (C#)

分配 Cursor.Position 属性 直接更改光标位置。这不会生成这些类型的程序用低级鼠标钩子钩住的输入事件,当鼠标驱动程序通知操作系统鼠标位置发生变化时生成的事件类型。

您必须 pinvoke SendInput() 代替。它模拟鼠标驱动程序生成的相同类型的输入。几乎肯定会让那个宏记录器栩栩如生。但不能保证游戏可以看到它,它们倾向于使用原始输入来绕过游戏作弊。非常有效的绕过。