JAVA不同层次模拟按键思路分享

本文分享了JAVA在不同层次模拟按键的思路,包括键盘鼠标输入层次介绍、局部模拟和全局模拟的方法,并探讨了驱动级模拟的可能性。通过测试,发现部分方法在游戏控制上受限。最后提到了使用第三方库jacob与dm.dll实现游戏控制的成功案例。

JAVA不同层次模拟按键思路分享

一、键盘、鼠标输入层次介绍

1、当按下键后,键盘或鼠标产生扫描码不同芯片的键盘产生扫描码不一样)。

2、扫描码被送给相应硬件的驱动驱动将扫描码转换成虚拟码(就是以  vk_  打头的,其实就是byte大小的数了,不同语言的虚拟码不全一样)。

3、虚拟码插入消息队列,等待被传给相应程序。然后就是程序处理的事了。



二、模拟层次介绍

1、局部模拟:用程序生成虚拟码,将虚拟码直接发给程序。

其一:Java自带的Robot就是这么干的。处理普通程序还有效,游戏就不用想了。

其二:jna的自带platform中,User32类 的sendMessage、postMessage方法。处理普通程序还有效,游戏就不用想了。


2、全局模拟:将扫描码、虚拟码插入到消息队列,让后就不管了。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值