0

我正在做一个陀螺鼠标。驱动程序脚本读取传感器输入并使用 win32api 命令相应地移动鼠标。

win32api.SetCursorPos((xStart-int(dh*xsensitivity),ypos))

当我打开诸如反恐精英之类的全屏游戏时,鼠标根本无法使用。只有点击输入功能,但它们会导致枪直指并执行一种扣押。

有什么方法可以让我与游戏中的任何鼠标控件交互吗?

4

1 回答 1

2

我对 Windows 编程不是很熟悉,但我最好的猜测是视频游戏(反恐精英)正在使用 DirectInput(来自 DirectX)方法来读取鼠标行程。也就是说,它使用 DirectInput 来获取鼠标运动事件,并且 Python win32api.SetCursorPos 将光标“扭曲”到给定位置并且不生成任何中间运动消息。

您很可能需要使用 MS Win32 API 调用 SendInput 来构造鼠标移动消息并将它们推送到操作系统级别的事件队列中。

如果您熟悉 .NET 技术,您可以尝试使用IronPython(一种可以与 .NET 运行时交互的 Python 解释器)。在这种情况下,Codeplex 的 Input Simulator 项目定义了将鼠标移动事件推入输入队列的方法。

于 2012-05-09T06:11:56.270 回答