按键精灵模拟键盘批量输入英文大小写

来源:互联网 发布:java逆波兰式 编辑:程序博客网 时间:2024/05/21 17:48

可以直接看最后面的,前面的方法已经过期。。。

起因:闲来 无聊,公司开发的方式是虚拟云平台,所有工作都在云平台上完成,所以云平台外面的数据文档无法和云平台直接传送,如有需要,必须写申请单,向领导申请,手续有点繁琐,因为在云平台上安装了一个软件需要license-key,这个key又非常的长类似这种:

XNSCi+G+rJ7DK9PbewA6DNrc4jJZ3XKIdpKbkQxB8eS6SOozkjIwyTlSgpHJ5v6GrsNtfrxZ7qxKEjOPp6pkt9JFRHsvRTxvWMbcc/+RJio=
我总不能一个一个用键盘敲进去吧,所以就想到了,用按键精灵帮忙,一开始以为很简单,但还是做的时候才发现,有点小麻烦,

首先,这么长的一串数字,我一个一个去改写成KeyPress "A",1的模式,那得累死掉。一开始想到了SayString,这个命令在本地好使,在云平台就不好使了,因为这个命令不是模拟键盘输入的,云平台根本无法接收数据,因此只能用KeyPress,所以我想到了用java来帮忙,很简单就是用java循环,一个一个去拼装起来,拼装起来后,新的问题又来了,因为KeyPress这个命令是纯粹的模拟键盘输入,无论你是KeyPress "A",1还是KeyPress "a",1都会根据当前键盘的大小写状态都输出大写的A,或者小写的a,因为KeyPress这个命令是纯粹的模拟键盘输入,所以它没办法帮你改变大小写状态,我网上百度了下,大概也就是在执行KeyPress命令之前判断大小写, 然后改变CapsLook的状态,再执行KeyPress,我看了下,太麻烦了,需要反复去修改CapsLook的状态,我在翻看按键精灵的命令时无意中发现键盘组合,于是就想到了,如果输入大写的A,是不是可以用Shift+A来实现,小写的a就用KeyPress “a”,1大写的a就用Call lib.键盘.键盘组合键("Shift + A",0)这个命令,这其中又有一个问题就是要输入+号的时候,KeyPress也没办法做到,因为+号和=号是一个键,默认都是=号,所以又需要在java中判断,如果是+号,就用命令Call lib.键盘.键盘组合键("Shift + =",0)。这样就完成了我想要的功能,下面是java代码片段

List<String> list = new ArrayList<>();list.add("XNSCi+G+rJ7DK9PbewA6DNrc4jJZ3XKIdpKbkQxB8eS6SOozkjIw" +        "yTlSgpHJ5v6GrsNtfrxZ7qxKEjOPp6pkt9JFRHsvRTxvWMbcc/+RJio=");for(String str :list) {    for (String tmp : str.split("")) {        if (!(tmp.trim().equals(""))) {            if (tmp.getBytes()[0] >= 65 && tmp.getBytes()[0] <= 90) {//65-90A-Z                System.out.println("Call lib.键盘.键盘组合键(\"Shift + " + tmp + "\",0)");            } else if (tmp.equals("+")) {                System.out.println("Call lib.键盘.键盘组合键(\"Shift + =\",0)");            } else {                System.out.println("KeyPress \"" + tmp.trim() + "\", 1");            }        }    }    System.out.println("KeyPress \"Enter\", 1");}



生成后的按键精灵代码如下

Call lib.键盘.键盘组合键("Shift + X",0)Call lib.键盘.键盘组合键("Shift + N",0)Call lib.键盘.键盘组合键("Shift + S",0)Call lib.键盘.键盘组合键("Shift + C",0)KeyPress "i", 1Call lib.键盘.键盘组合键("Shift + =",0)Call lib.键盘.键盘组合键("Shift + G",0)Call lib.键盘.键盘组合键("Shift + =",0)KeyPress "r", 1

额。。。是不是很无聊。。。好吧,确实有点无聊。。。

============2017-07-10更新=============================

后来发现一个更简单的命令

Call Lib.键盘.KeyList(" Aa#%&_=+",1,10)

这个可以自动帮你转换大小写,自动输入需要按shift键的字符。。。而且可以一整串字符批量输入,简单多了。之前都没发现,真是汗。。。

原创粉丝点击