繁体   English   中英

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

[英]How to simulate keyboard input in ALL applications?

我正在编写一个应用程序(在C#中),作为其一部分必须模拟并向其他应用程序发送一些击键。 我正在使用http://inputsimulator.codeplex.com/项目来模拟密钥,它适用于许多应用程序,但在某些应用程序中却没有 - 即Mortal Combat 4。

我用Google搜索了一下,发现许多答案从“不可能”到“你必须使用XXX库”等等。那些回答让我很害怕,甚至几乎确信我当时无法做到这一点,但...

M $虚拟键盘有效。 它适用于所有应用程序。 所以有可能......你们中有谁聪明的人知道我怎么能做到这一点?

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

虽然你能够实现你的目的,但你实现它的方式并没有从根本上回答你的问题:如何在所有应用程序中模拟键盘输入?

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

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

看看MSDN上的SendKeys

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM