DirectX 游戏挂钩

Posted

技术标签:

【中文标题】DirectX 游戏挂钩【英文标题】:DirectX Game hook 【发布时间】:2014-07-14 10:58:43 【问题描述】:

我正在尝试在游戏中模拟鼠标事件。游戏使用 DirectInput,因此您无法使用 SendMessage 向其发送鼠标事件/键盘事件,这基本上就是我必须加入游戏的原因。

另外我不想使用 SendInput/mouse_events,游戏必须在后台运行并制作鼠标事件。

我已经设法在游戏中制作了一个 DLL 挂钩,但现在下一个问题是我必须制作鼠标事件和键盘(可能是主要问题)。

提前致谢。

【问题讨论】:

虽然可以说不适合这个论坛,但无拘无束的诚实和直接的主题(如何在 DLL 注入的 DirectInput 进程中挂钩 kb/鼠标事件)可能在编写机器人之外很有价值在大多数游戏中,违反 eula 的行为可能会被禁止。我没有答案,但我真诚地希望这能存在足够长的时间,让热衷于这个主题的人有机会参与进来。你可以通过提供你找到的内容和原因的链接来很好地改进问题(除了显而易见的)它被认为是不适用的。 我基本上想知道是否有任何方法可以通过后台/最小化进程来过滤 WPF/DirectX 应用程序中的点击。 您是否已经阅读过this。我会进行逆向工程并尝试在 directInput 上找到函数调用,然后将调用重定向到您的代码......但是,我认为这是一项显然令人生畏的任务,即 AAA 标题......祝你好运 【参考方案1】:

您可以使用GlovePIE,而不是挂钩到游戏中,这是一个内核级输入模拟器。您可以写下自己的脚本,然后使用它。因此,您需要将您的应用程序的消息发送到 GlovePIE,它会在内核级别生成输入,因此这将适用于 DirectX 游戏。

【讨论】:

以上是关于DirectX 游戏挂钩的主要内容,如果未能解决你的问题,请参考以下文章

从注入的 DLL 挂钩 DirectX EndScene

亲爱的 IMGUI 和 DirectX 12 覆盖 (DXGI_ERROR_INVALID_CALL)

没有directx12可以玩directx12的游戏么?

为啥 DirectX Device Present 钩子在弯路中不起作用?

巫师3directx11是啥

开始 DirectX 11 游戏编程错误