【发布时间】:2016-09-14 13:56:20
【问题描述】:
这个问题最初是关于如何捕获鼠标事件,经过大量研究,我使用 SetWindowsHookEx 和 C++ 解决了这个问题。 问题是,它在 Windows 上对我有用,它适用于应用程序,但它不适用于游戏。 有人可以帮我理解为什么鼠标钩在某些游戏中不起作用吗?我尝试过的所有游戏都可能使用原始输入吗? :S (我尝试过 Ibb&Obb、Fallout 4、Metro Last Light 和其他一些游戏)
基本上我在问:如何使用鼠标钩在所有运行的应用程序中全局捕获它?
感谢帮助。
编辑: 我发现我玩的大多数游戏都使用 DirectInput。猜猜更好的问题是:如何在 DirectInput 中拦截鼠标消息并防止它们被游戏注册?我希望能够拖动鼠标,它不会影响游戏。
【问题讨论】:
-
当然,只有当应用程序使用作为消息发布的正常 Windows 通知时,挂钩才能起作用。游戏不会。
-
感谢 Hans 的快速响应,你是我的救星 :D 有什么方法可以让我用不同的方法捕获鼠标以防止游戏响应我的鼠标?
标签: c++ mouse raw-input setwindowshookex directinput