最近再玩的游戏里面有个小游戏类似于炫舞一样,按键的游戏由于需要频繁的按键操作,于是我想是不是可以通过编写一个程序来实现键盘的自动输入
一开始我选擇使用java来编程,java里面的java.awt.Robot类实现了模拟键盘的输入这个类主要是用来自动化测试的。
代码比较简单因为实现的功能很简单。中间测试了丅时间因为游戏有时间限制
写好以后为了方便我把程序打包成了可执行的jar包,然后通过一行命令的bat文件来执行
通过再桌面以及记事本的測试是没有问题的,然后再游戏里面进行测试发现游戏里面失灵了,不管是小游戏还是游戏里的聊天都没有效果。应该是和语言有關系因为java毕竟隔着虚拟机,可能再调用上面没有起到作用
这时候就必须要更底层的代码来实现功能了,有时候封装好的方法再对一些问题的处理上面可能并不是最好的,比如涉及到硬件方面反而是越接近底层越有优势。
然后我使用C语言来实现C语言来使用一个windows 模拟鍵盘的api keybd_event,代码也是没有什么难度。
然后再游戏里面进行测试还是不成功,后来尝试管理员运行这时候生效了,还是这种底层的api强大这時候再游戏里面的聊天以及可以模拟控制了,然后尝试再游戏里面的小游戏进行测试这时候就又不成功了,考虑到里面小游戏的特殊性没有继续尝试下去,不过整体来说不能算不成功虽然没有真正实现功能,但也是学到了很多东西如果以后有特别需要的地方再去深究。