如何防止鼠标向 DirectInput 游戏发送输入?

How do i prevent a mouse from sending input to DirectInput game?

这个问题最初是关于如何捕获鼠标事件的,经过大量研究,我使用 SetWindowsHookEx 和 C++ 解决了这个问题。 问题是,它在 Windows 上对我有效,它在应用程序中有效,但在游戏中无效。 有人能帮我理解为什么鼠标挂钩在某些游戏中不起作用吗?有没有可能我试过的所有游戏都使用原始输入? :S (我尝试了 Ibb&Obb、Fallout 4、Metro Last Light 和其他一些游戏)

基本上我在问:如何使用鼠标挂钩在所有应用程序中全局捕获它运行?

感谢各位帮手

编辑: 我发现我玩的大多数游戏都使用 DirectInput。猜猜更好的问题是:我如何拦截 DirectInput 中的鼠标消息并防止它们被游戏注册?我希望可以拖动鼠标,对游戏没有影响

经过大量研究,我发现据我所知,API 挂钩(Microsoft Detours、API 劫持等)是唯一的方法。 重要说明:它对我没有太大帮助,因为 API 挂钩游戏需要 DLL 注入,这会让你 banned 来自 Steam 和其他平台。