一直想用按键精灵写一个脚本来提升自身的逼格。但是一直没多少时间学习它。抽空几个小时实战了一波模拟器上QQ登陆脚本的实现——超简单。
工具:

  • 夜神模拟器
  • 按键精灵手机助手3.2

先简单的介绍下脚本流程

  • 1.在手机桌面找到QQ的标,单击打开
  • 2.在QQ界面找到登陆按钮,单击登录
  • 3.在登陆界面找到QQ账号输入框,单击选择,输入账号
  • 4.接着找到QQ密码输入宽,单击选择,输入密码
  • 5.找到登陆按钮,点击登录
  • 6.验证码。。。。目前能力无解(按键精灵初学小白一枚)

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//Dim 定义变量 array是多点的数据,具体怎么得到看说明
Dim game = array(472,436,535,499,"000000","0|0|000000,0|0|000000,0|0|000000,0|0|000000")
Dim signIn = array(84,1148,291,1202,"FFFFFF","10|1|FFFFFF,32|1|FFFFFF,44|5|FFFFFF,4|11|FFFFFF")

//调用函数 找多点 找game那个点,即QQ图标
Call 找多点(game, 1)
//延迟3秒 等待3秒
Delay 3000
// 找登陆按钮 点击
Call 找多点(signIn, 1)
Delay 3000
//找QQ账号输入框 单击
Dim qqNo = array(38,274,125,308,"D8D2D1","11|0|DBD6D6,26|-3|E0DAE3,33|8|DBD6D5,7|17|D7D2CF,29|17|D7D2CF")
Call 找多点(qqNo, 1)
//输入账号
InputText "123456789"
Delay 1000
Dim qqMm = array(38,298,103,332,"ECE9EF","5|0|ECE9EF,11|0|ECE9EF,33|-1|ECE9F0,42|11|ECE9F0,12|4|ECE9EF")
//找QQ密码输入框 单击
Call 找多点(qqMm, 1)
//输入密码,以读取文件的方式
InputText File.ReadLine("/sdcard/MobileAnjian/qqcount.txt", 1)
Delay 1000
//点击登录按钮
Dim login = array(309,388,415,434,"EFB522","19|-1|EFB522,35|4|F3CD6F,8|19|FFFFFF")
Call 找多点(login, 1)


//这是一个函数,找多点。模式=1是会单击找到的位置
Function 找多点(数组, 模式)
TracePrint "dianjile"
找多点 = False
Dim arr,intX,intY
arr = 数组
FindMultiColor arr(0), arr(1), arr(2), arr(3), arr(4), arr(5), 0, 0.9, intX, intY
TracePrint intX&intY
If intX > -1 Then
找多点 = True
If 模式 = 1 Then
Tap intX, intY
TracePrint "dianjile"
End If
End If
End Function
以上代码关键就是如何获取多点的array数据

现在举个栗子

006bYVyvgy1fhf69gei7wj30fc0s5amh.jpg
我们来获取登陆这个按钮,因为颜色较浅,用一般的多点方法很容易检测失败,我们这里采用选择区域。
第一补 打开抓抓
006bYVyvgy1fhf69fo6e3j30sc03ymxl.jpg
第二步
006bYVyvgy1fhf69gzd45j30rs0jgak3.jpg
抓抓截屏获取到这个界面,接下来

  • 1.点击选择区域
  • 2.选择红色框那个范围,会在二值化得到3这样的结果
  • 3.ctrl+滚轮 放大登录按钮 ,左键点击选点 选择文字的白色部分 配合ctrl+1/2/3/4/5/6得到6个点
  • 4.点击开始检查,若返回-1,-1则表示。请重新操作步骤三。若返回一个位置(如345,789)则表示成功,点击复制完整脚本复制需要的array数据

3、4步骤的图如下:
006bYVyvgy1fhf69hfo3uj318l0m5whh.jpg

希望这篇文章能给你带来知识和乐趣,喜欢博主的文章可以加博主好友哦

有好的文章也可以向博主投稿哦