如何在所有应用程序中模拟键盘输入

本文关键字:模拟 键盘 输入 应用程序 | 更新日期: 2023-09-27 18:19:34

我正在编写一个应用程序(用C#编写),作为它的一部分,它必须模拟并向另一个应用软件发送一些按键。我正在使用http://inputsimulator.codeplex.com/模拟钥匙的项目,它在许多应用程序中都能工作,但在一些应用程序中却不能,即《致命一击4》。

我在谷歌上搜索了一下,发现了很多答案,从"不可能"到"你必须使用XXX库"等等。这些答案让我很害怕,甚至几乎确信我当时无法做到,但是。。。

M$虚拟键盘工作。它适用于所有应用程序。所以有可能。。。你们中有谁,聪明的家伙,知道我怎样才能做到这一点吗?

如何在所有应用程序中模拟键盘输入

好吧,我想我终于开始工作了。我使用了Neal P推荐的API Monitor,它显示了OSK调用和我的调用之间的最小差异。稍后,我试图让我的调用线程在用按键和释放键发送消息之间休眠一段时间,就这样

尽管您能够实现自己的目的,但实现它的方式并不能从根本上回答您的问题:如何在所有应用程序中模拟键盘输入?

在许多情况下,已经提到的通用用户模式Microsoft API不起作用,比如使用DirectInput API的游戏应用程序或受保护的游戏。

我已经建立了一个库,可以在这种情况下提供帮助,它提供了一个简单的C API,在内部与设备过滤器驱动程序通信。它能够为基于DirectInput的游戏发送输入,也能够绕过一些游戏保护。我已经检查过了,它仍然可以通过使用x64版本的库绕过一些已知的游戏保护。游戏保护通常只挂接x86系统的api。终于,2012年2月18日,这就是我所看到的。

查看MSDN 上的SendKeys