如何防止鼠标将输入发送到DirectInput游戏

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

本文关键字:DirectInput 游戏 输入 何防止 鼠标      更新时间:2023-10-16

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

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

谢谢你的帮助。

编辑:我发现我玩的大多数游戏都使用DirectInput。我想更好的问题是:如何在DirectInput中拦截鼠标消息并防止它们被游戏注册?我希望能够拖动鼠标,它不会对游戏产生任何影响。

经过大量研究,我发现从我的理解来看,API挂钩(微软Detours、API Hijack等)是唯一的方法。重要提示:这对我没有多大帮助,因为游戏的API挂钩需要DLL注入,这将使您从Steam和其他平台被禁止