要想在java中实现按键精灵,需要借助第三方来访问系统api,监听全局事件,如果你会c或c++,你也可以自己写。
我这里使用的是jintellitype,使用起来也是蛮简单的。
整个程序分为几个功能:
录制命令(录制键盘和鼠标,我这里只实现了字母和鼠标左右键点击的命令)
保存录制的命令到文件中(后缀为.csp,这个在程序中写的,随便你)
执行录制的命令(加载脚本文件中的命令)
为了实现这些,我得先设计一些类来表示这些东西,命令,脚本(命令的集合)
其中命令包含:命令长度(数据部分,2个字节) 命令类型(区分鼠标还是键盘,2个字节) 命令码(正式的按键或鼠标键位,2个字节) 数据(长度可变)
延时时间 操作次数 校验码(暂时没做处理)
命令分为三种命令:
键盘命令
鼠标命令(额外的信息有 鼠标所在的 x 坐标 鼠标所在的 y 坐标)
组合命令(上面两种命令的组合)
接着把命令组合成命令脚本(命令的集合)
命令相关实体设计完,接着设计控制相关部分
热键的注册与解注册,录制的条件,大致做法是先把整个程序的大概搭建起来,具体细节后面再填充
源码下载:下载