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

发布于 2024-08-19 04:16:34 字数 558 浏览 8 评论 0原文

我需要用任何编程语言(最好是 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) 这也不起作用

I need to write a program in any programming language (preferably Delphi 7 / Delphi 10 / C#) that emulates pressing 1 every 10 seconds to a given process in Windows XP or Windows 7. Sending Windows messages, which worked for all the other applications I have tried, didn't work for this particular one and I am suspecting it is because it is using DirectX. Can this be done without overwriting DX*.DLL files? How?

Thank you,
Tom

EDIT: I've just tried using SendInput (in Delphi 7 on Windows XP with code from http://www.swissdelphicenter.ch/torry/showcode.php?id=220) and that doesn't work, either

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无力看清 2024-08-26 04:16:34

如果应用程序不处理 WM_CHAR/等 Windows 消息(XInput/DirectInput),您最好的选择是制作一个 dll 注入到应用程序中,覆盖某些函数,导致这些函数直接使用系统资源来访问键盘/鼠标/游戏手柄。 (无论如何,使用 DirectInput/XInput 作为键盘确实是个坏主意:|)

If the application don't process WM_CHAR/etc Windows Messages (XInput/DirectInput) your best bet is to make a dll to inject into the app overriding some of the functions cause those use directly the system resources to access the keyboard/mouse/gamepad. (really bad idea to use DirectInput/XInput for keyboard anyway :|)

回首观望 2024-08-26 04:16:34

该应用程序可能正在使用 DirectInput 或 XInput。在这种情况下您无能为力,因为 DirectInput 直接与键盘驱动程序一起工作。

The application is probably using DirectInput or XInput. There is little you can do in this case because DirectInput works directly with the keyboard driver.

愚人国度 2024-08-26 04:16:34

最后,我使用了 IO.DLL,不幸的是它无法在 64 位上运行,但我仍然很高兴大约 90% 的目标使用 32 位。

Finally, I've used IO.DLL, which unfortunately doesn't work on 64-bit, but I'm still happy that about 90% of my target uses 32-bit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文