注入DX游戏并让游戏闲置

时间:2014-11-19 17:01:15

标签: winapi input directx xinput

我有一个DLL注入DX游戏。在DLL中,我禁用XInput,原始输入以及子类WndProc来过滤一堆输入消息,如WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_INPUT等。使用XInputEnable(FALSE)禁用XInput并使用RIDEV_REMOVE标志注册原始设备。

虽然它适用于某些游戏,但并不适用于所有游戏。某些游戏仍有鼠标移动/悬停输入,当我移动时,我可以看到某些UI的悬停状态。

我的问题是我错过了什么?游戏可以通过其他方式捕获输入吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我可以想到应用程序可能仍在接收鼠标输入的这些可能方式:

  • 重新启用原始输入通知
  • 除了一个子类以外的窗口正在接收消息
  • 正在轮询GetCursorPos
  • 使用Windows HID API或其他用户模式界面访问鼠标设备
  • 使用SetWindowsHookEx
  • 挂钩鼠标事件或窗口消息

可能是其他人,但这些都是我现在能想到的。