如何将按键发送到DirectX应用程序?

时间:2010-01-24 07:34:20

标签: c# delphi directx windows-messages

我需要用任何编程语言(最好是Delphi 7 / Delphi 10 / C#)编写一个程序,它模拟每10秒按一次1到Windows XP或Windows 7中的给定进程。发送Windows消息,适用于我尝试过的所有其他应用程序,但是对于这个特定的应用程序没有用,我怀疑它是因为它使用的是DirectX。这可以在不覆盖DX*.DLL文件的情况下完成吗?怎么样?

谢谢你,
汤姆

编辑:我刚刚尝试使用SendInput(在Windows XP上的Delphi 7中使用 http://www.swissdelphicenter.ch/torry/showcode.php?id=220的代码),但这不起作用

3 个答案:

答案 0 :(得分:1)

如果应用程序不处理WM_CHAR / etc Windows消息(XInput / DirectInput),最好的办法就是让一个dll注入到应用程序中,覆盖一些函数,导致那些直接使用系统资源访问键盘/鼠标/手柄。 (无论如何,使用DirectInput / XInput键盘非常糟糕:|)

答案 1 :(得分:0)

应用程序可能正在使用DirectInput或XInput。在这种情况下你几乎无能为力,因为DirectInput直接使用键盘驱动程序。

答案 2 :(得分:0)

最后,我使用了IO.DLL,遗憾的是它不适用于64位,但我仍然很高兴大约90%的目标使用32位。