按键精灵很像VB,也像易语言,如果你熟悉vb6.0那个时代的编程,可以很快的掌握,如果用惯了面向对象的语言,那大家要好好习惯一下

一. 基本操作

1. 查询系统函数库

我们以找图命令为例:

2. 插入函数

为了方便不会编码的人, 可以点点点来操作

3. 抓抓图

4. 选取范围

5. 截图保存

点裁切,框选,双击,再保存

6. 获取APP包名


二. 基本语法

1. 定义变量 Dim

Dim n
n = 12345TracePrint n

2. 打印信息

TracePrint 12345//打印变量Dim n
n = 12345
TracePrint n
TracePrint "the number is:"&n
TracePrint "the number is:",n

3. 字符串切割

n = "1,2,3"
n = Split (n,",")

4. 数组的最大下标

Dim n,x
n = "1,2,3"
n = Split (n,",")
x = UBOUND(n)
TracePrint x

5. For循环

例子1:固定循环次数后离开

For 10 '固定循环10次跳出TracePrint "循环中……"
Next
TracePrint "离开循环"

例子2:范围循环

Dim i
For i = 0 To 9 '这里没写步长,默认每次循环结束 i 都+1,
那么10次后等于9,第11次等于10,大于9,离开循环TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & iDim i
For i = 0 To 19 Step 2 '步长为2,每次循环结束 i 都+2,
那么10次后等于18,第11次等于20,大于19,离开循环TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & iDim i
For i = 9 To 0 Step -1 '步长为-1,每次循环结束 i 都-1,
那么10次后等于0,第11次等于-1,小于0,离开循环TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

例子3:循环离开

Dim i
i=5
For i=0 To 10TracePrint "循环中,i=" & iIf i=5 ThenExit For '离开当前For循环End If
Next

6. If 如果..则

Dim i=0
If i=0 ThenTracePrint "条件判断符合被通过!!"
ElseIf i=1 ThenTracePrint "否则条件判断符合被通过!!"
ElseTracePrint "否则!!"
End If
//通过判断表达式的取值,来执行后面的动作或控制

7. While 如果..则

和一般的while不同, 这个while语法带介绍标记Wend

Dim i=0
While i=0TracePrint "我停不下来啦!!快住手"
Wend
//当循环条件成立的时候,反复执行循环体例子2
Dim i
i = 0
//跳出循环
While i < 10i = i + 1TracePrint "正在循环中,i=", iIf i = 5 thenTracePrint "准备退出循环"Exit WhileEnd If
Wend
TracePrint "循环结束,i=", i

8. Select Case 情况条件选择

Dim 变量=1
Select Case 变量
Case 0,1    可支持判断多个值,中间以逗号隔开TracePrint "你输入的数字为:0或者1"
Case 2TracePrint "你输入的数字为:2"
Case 3TracePrint "你输入的数字为:3"
Case 4TracePrint "你输入的数字为:4"
Case 5TracePrint "你输入的数字为:5"
Case 6TracePrint "你输入的数字为:6"
Case 7TracePrint "你输入的数字为:7"
Case 8TracePrint "你输入的数字为:8"
Case 9TracePrint "你输入的数字为:9"
Case ElseTracePrint "你输入的数字不正确,请输入(0~9)数字!"
End Select

9. 函数化

使用 Function来定义函数
使用Call 来调用函数
函数括号内是可以传参的, 和常规编程语言用法一致
也分局部变量和全局变量

Function getMsg(msg)TracePrint msg
End FunctionCall getMsg("hello world!")

10. Rem 标记

Rem既可以作为标记,配合 Goto 跳转 使用,也可以作为注释

Rem 脚本开始

11. Goto 跳转到标记

goto 和 rem都是老式语言的典型语法吗灵活运用即可

Goto 标记
Delay 100
Rem 标记
TracePrint "你直接跳到这里了!!,上面的延迟没有被执行!!"
//跳转语句,可以跳转到rem标记过的标记处继续执行

三. 典型操作API

1. InputText 输入内容

InputText "你好,我是按键精灵"

2. EndScript 脚本停止运行

EndScript

3. ShowMessage 显示信息

ShowMessage  Msg

Msg:提示信息,如果提示信息不是字符串类型,会自动转换为字符串类型进行显示
Time:显示信息的时间,单位是毫秒(该参数暂时无实际意义,不生效)
X:可选参数,显示框在屏幕左上角横坐标(2.61版支持)
Y:可选参数,显示框在屏幕左上角纵坐标(2.61版支持)

4.Delay 延时

Delay time
time:数值表达式,延时时间,单位毫秒

5. RunApp 运行应用

包名的看法在第一章

RunApp "com.tencent.mm"

6. 关闭APP

KillApp package_name,flag

package_name:字符串型,包名
flag:整数型,可选,0:强退进程 (默认) 1: 正常退出

7. PutAttachment 释放附件

把当前脚本包含的附件释放到指定的目录下

PutAttachment path[,file]

path:字符串型,路径,手机一定要存在此路径,否则释放失败。
file:字符串型,文件名,可省略
注意:如果路径为Null或空字符串,
会把附件释放到按键精灵的临时文件目录下。
临时文件目录可以通过调用 GetTempDir() 获得要释放的文件(可选参数)为字符串类型,
可以指定只释放附件中的一个或几个文件,支持通配符 * 和 ? ,
当不指定要释放的文件,或指定为Null或空字符串时,表示要释放本脚本附件中的所有文件。


四. 触摸API

1. KeyPress 按键

和键盘上按键效果一样,
我们在使用键盘的时候有两种操作,一种是“按下”键,一种是“弹起”键,
将这两个动作连续进行,就是一个完整的“按键”动作

KeyPress "K"

附: 常用按键:
按键功能 按键名称(不区分大小写)
主页键 Home
返回键 Back
打电话 Call
挂电话 EndCall
音量增加 VolUp
音量减少 VolDown
电源键 Power
相机键 Camera
菜单键 Menu
向上翻页 PageUp
向下翻页 PageDown
数字键 0123456789
字母键 26个字母
标点键 ,.-=[]/;@+
【键码表】
虚拟键码 字符常量 说明
3 home home键
4 back 返回键
5 call 拨打电话键
6 endcall 挂电话键
7 0 数字0
... ... ....
16 9 数字9
17 * *号
18 # #号
19 dpadup 导航键 向上
20 dpaddown 导航键 向下
21 dpadleft 导航键 向左
22 dpadright 导航键 向右
23 dpadcenter 导航键 确定键
24 volup 音量加
25 voldown 音量减
26 power 电源键
27 camera 相机
29 A A键
... .... .....
54 Z Z键
55 , 逗号
56 . .号
57 altleft altleft
58 altright altright
59 shiftleft shiftleft
60 shiftright shiftright
61 tab tab
62 space 空格
66 enter 回车
67 del del
68 键
69 - 减号
70 = 等号
71 [ 方括号
72 ] 方括号
73 \ 未知键
74 ; 分号
75 ' 单引号
76 / /键
77 @ @符号
80 focus 拍照对焦键
81 + 加号
82 menu 菜单
83 notification 通知键
84 search 搜索键
85 mediaplaypause 多媒体暂停/播放
86 mediastop 多媒体键 停止
87 medianext 多媒体键 下一首
88 mediaprevious 多媒体键 上一首
89 mediarewind 多媒体键 快退
90 mediafastforward 多媒体键 快进
91 mute 话筒静音键
92 pageup 上一页
93 pagedown 下一页
96 gamepadbuttonsA 游戏手柄按钮 A
97 gamepadbuttonsB 游戏手柄按钮 B
98 gamepadbuttonsC 游戏手柄按钮 C
99 gamepadbuttonsX 游戏手柄按钮 X
100 gamepadbuttonsY 游戏手柄按钮 Y
101 gamepadbuttonsZ 游戏手柄按钮 Z
102 gamepadbuttonsL1 游戏手柄按钮 L1
103 gamepadbuttonsL2 游戏手柄按钮 L2
104 gamepadbuttonsR1 游戏手柄按钮 R1
105 gamepadbuttonsR2 游戏手柄按钮 R2
106 gamepadbuttonsLeftThumb Left Thumb Button
107 gamepadbuttonsRightThumb Right Thumb Button
108 gamepadbuttonsStart 游戏手柄按钮 Start
109 gamepadbuttonsSelete 游戏手柄按钮 Select
110 gamepadbuttonsMode 游戏手柄按钮 Mode
111 esc ESC键
112 backspace 删除键
113 ctrlleft ctrlleft键
114 ctrlright ctrlright键
115 capslock 大写锁定键
116 scrolllock 滚动锁定键


121 pause pause键
122 movehome 光标移动到开始
123 moveend 光标移动到末尾
124 insert insert键
126 mediaplay 多媒体键 播放
127 mediapause 多媒体键 暂停
128 mediaclose 多媒体键 关闭
129 mediaeject 多媒体键 弹出
130 mediarecord 多媒体键 录音
131 f1 f1键
... ... ...
142 f12 f12键
143 numlock 小键盘锁
144 0 小键盘0
... ... ....
153 9 小键盘9
154 / 除号
155 * 乘号
156 - 减号
157 + 加号
158 . 点号
159 , 逗号
160 enter 回车键
161 = 等号
162 ( 左括号
163 ) 右括号
164 volmute 扬声器静音键
168 zoomin 放大键
169 zoomout 缩小键
188 gamepadbuttons1 通用游戏手柄按钮#1
... ... ....
203 gamepadbuttons16 通用游戏手柄按钮#16

2. KeyDown 按键按下

3. KeyUp 按键抬起

KeyDown "K"
Delay 1000
KeyUp "K"

4. Swipe 划动

Swipe X1坐标, Y1坐标, X2坐标, Y2坐标
Swipe 837,1037, 257,1026

5. Tap 轻触屏幕

Tap X坐标, Y坐标

6. Touch 按住一段时间

Touch X坐标, Y坐标, 100

7. TouchDown 按住不放

TouchDown X坐标, Y坐标
TouchDown X坐标, Y坐标, 此触摸的id

一个多点触控的例子:

TouchDown 100, 100, 1//按住屏幕上的100,100坐标不放,并设置此触点ID=1
TouchDown 200, 200, 2//按住屏幕上的200,200坐标不放,并设置此触点ID=2
TouchMove 300, 300, 1, 200//将ID=1的触点花200毫秒移动至300,300坐标
TouchMove 500, 500, 2, 200//将ID=2的触点花200毫秒移动至500,500坐标
TouchUp 1//松开弹起ID=1的触点
TouchUp 2//松开弹起ID=2的触点

8. TouchMove 按住拖动

TouchMove X坐标, Y坐标
TouchMove X坐标, Y坐标, 时间
TouchMove X坐标, Y坐标, 此触摸的id, 时间

9. TouchUp 按住弹起

TouchUp
TouchUp 此触摸的id

10. CatchTouchPoint 获取用户点击坐标

Dim anjians
anjians = CatchTouchPoint(3)TracePrint "第一个点的x坐标:",anjians[1][1]
TracePrint "第一个点的y坐标:",anjians[1][2]
TracePrint "第二个点的x坐标:",anjians[2][1]
TracePrint "第二个点的y坐标:",anjians[2][2]
TracePrint "第三个点的x坐标:",anjians[3][1]
TracePrint "第三个点的y坐标:",anjians[3][2]

10. RandomTap 随机点击

RandomTap(x,y,r,pic)

x:整数型,屏幕X坐标
y:整数型,屏幕Y坐标
r:整数型,可选,坐标范围:缺省默认为 5,单位像素(px)
pic:字符串型,可选,点击效果的显示图片路径(展示一会就消失),图片不存在则不显示

11. MoveZoomOut 捏合

12. MoveZoomIn 放大滑动


五. 特殊API

1. FindPic 找图

图片我们要在附件中添加

Dim intX,intY
FindPic 115,118,197,210,"Attachment:1.png","000000",0,0.9,intX,intY
If intX > -1 And intY > -1 ThenTracePrint intXTracePrint intY
End If

同样的 我们也可以通过点点点来操作

关于找图的内存管理

截图到内存中可以提高速度和准确率, 但耗费内存, 所以用完释放掉

Dim intX,intY
KeepCapture //内存中
FindPic 115,118,197,210,"Attachment:1.png","000000",0,0.9,intX,intY
If intX > -1 And intY > -1 ThenTracePrint intXTracePrint intY
End If
ReleaseCapture
多图查找及找图返回值

我们可以添加多张图片, 匹配多种规则, 某个规则被匹配了 则FindPic函数会返回对应的规则索引

Dim intX,intY,backIndex
KeepCapture
backIndex = FindPic (149,85,389,345,"Attachment:1.png|Attachment:2.png","000000",0,0.8,intX,intY)
If backIndex=0 ThenTracePrint "匹配了第一种规则"
ElseIf backIndex = 1 ThenTracePrint "匹配了第二种规则"
Else TracePrint "没找到"
End If
ReleaseCapture

2. FindColor 找色

FindColor(x1, y1, x2, y2, color,dir,sim,intX,intY)

x1:整数型,区域左上角x坐标
y1:整数型,区域左上角y坐标
x2:整数型,区域右下角x坐标
y2:整数型,区域右下角y坐标
color 字符串:要对比的16进制颜色,格式为"BBGGRR"多个颜色用“|”号分隔,
如果需要对比偏色则中间用“-”号分隔,比如"FFFFFF|123456-000000|00FF00-101010"
sim 双精度浮点数:相似度,取值范围0-1
dir:整数型,查找方向
0: 表示从左上向右下;
1: 表示从中心往四周查找;
2: 表示从右下向左上查找;
3: 表示从左下向右上查找;
4:表示从右上向左下查找
intX:变参指针,返回X坐标
intY:变参指针,返回Y坐标

Dim IntX,IntYFindColor 98,260,765,526,"000000-CC3B84|D04E8D",0,0.9,intX,intY
If intX >-1 thenTraceprint "找到"Traceprint intXTraceprint IntY
ElseTraceprint "没有找到"
End If

3. FindMultiColor 多点找色

FindMultiColor x1,y1,x2,y2,first_color,offset_color,dir,sim,intX,intY

x1:整数型,查找区域左上X坐标
y1:整数型,查找区域左上Y坐标
x2:整数型,查找区域右下X坐标
y2:整数型,查找区域右下Y坐标
first_color:要对比的16进制颜色,多个颜色用"|"号分隔,
如果需要对比偏色则中间用“-”号分隔,比如"FFFFFF|123456-000000|00FF00-101010"
sim:双精度浮点数,相似度,取值范围0-1
offset_color:字符串,偏移颜色
dir:整数型,查找方向.
0:表示从左上向右下查找;
1:表示从中心往四周查找;
2:表示从右下向左上查找;
3:表示从左下向右上查找;
4:表示从右上向左下查找;
intX:变参指针,返回找到的X坐标
intY:变参指针,返回找到的Y坐标
color:字符串,16进制颜色值,格式为"BBGGRR"

找多色是比找图更好的定位方式用这种方法我们可以迅速的确定我们在哪一页,或者找到哪个图标


http://www.taodudu.cc/news/show-3177183.html

相关文章:

  • MATLAB中SSQJ,基于lqr的一级倒立摆仿真研究
  • 一文看懂BP神经网络的基础数学知识
  • c语言10 u0010求余怎么求,矩阵LU分解求逆详细分析与C语言实现.docx
  • 年后准备跳槽一定要注意这几点。谨防踩坑
  • 想用这种方法跳槽加薪,太幼稚了!
  • 有效跳槽 VS 无效跳槽
  • 2021 程序媛跳槽记:学习计划篇
  • 程序员们为什么频繁地跳槽
  • 开发新人有必要考虑在工作一年后跳槽
  • 【职场】关于跳槽涨薪30%?
  • Java程序员跳槽涨薪面试心得
  • 拯救频繁跳槽的必杀技!
  • 仅一成人不跳槽,工作十年跳三次薪资涨三倍
  • 面试经验 - 怎么回答“跳槽”的原因?
  • 小公司的程序员,老想跳槽怎么办?
  • 跳槽攻略
  • 2021人才跳槽流动分析报告
  • 年前跳槽还是年后跳槽
  • 工程师什么时机最合适选择跳槽?
  • 【过关斩将】你对跳槽有什么看法?
  • 跳槽前,注意事项
  • 程序员跳槽的原因总结
  • 关于跳槽
  • 怎么跳槽?这七步走完,你完全可以面试大厂了
  • 跳槽需要注意的一些事
  • java 忽略大小写
  • 微信小程序文本换行问题
  • 大小写英文字母转换
  • 小程序mta埋点
  • 小程序文本输入,中英文输入的一个不起眼小坑

按键精灵脚本编写入门(一)相关推荐

  1. 按键精灵脚本 php,HTML_按键精灵 脚本-学习VBS的一个不错的教程,今天我就从总体上对VBS进行介 - phpStudy...

    按键精灵 脚本-学习VBS的一个不错的教程 今天我就从总体上对VBS进行介绍,希望能给大家一个直观的印象.另外,讲解与按键官网的按键精灵教程(李悦制作)相结合,帮大家看懂这个东东. 一.概述 要让计算 ...

  2. 按键精灵 getcursorpos没有用_给你们想要的一键输出II按键精灵脚本开发教程

    按键精灵能为我们做什么 有人会说,按键精灵不就是代替我们按键盘嘛,当我们不玩的时候他替我们不停的按键盘,防止我们暂离掉线. 其实按键精灵能做的远远不止这些,按键精灵的脚本语言是基于VBS的,理论上VB ...

  3. 锁定计算机按键精灵运行,最新按键精灵脚本代码大全 按键精灵命令运行方法...

    按键精灵脚本代码命令运行大全.按键精灵的鼠标动作录制是一项非常好用的功能,但因为鼠标点击的地方是固定死板的,且延迟时间无法调整,如果在后台脚本中添加一些专用代码,就可以调整点击频率和点击时间,甚至可以 ...

  4. 按键精灵脚本问题:第0行:没有权限: 'CreateObject'

    问题:调试按键精灵脚本,产生第0行:没有权限: 'CreateObject'问题 原因:该用户不是administrators组用户 解决办法:在adminstrator用户下给该用户属于admini ...

  5. 天天爱消除辅助-按键精灵手机安卓版-天天爱消除辅助Android源码-按键精灵脚本

    无意中看到按键精灵出Android版了,想了解一下,所以加入了内测, 由于脚本语法和VB差不多,所以上手很快,写了个天天爱消除的脚本来练习一下, 很早就知道按键精灵了,但一直没写过其脚本,这个算是我的 ...

  6. 用c写按键精灵脚本语言,按键精灵之插件编写

    按键精灵最大的优点就是简单直接,本身没有复杂的结构,很容易理解,但是要想作出强大的脚本,需要的就是插件.插件的编写通常使用高级语言,如vc,delphi,vb等等,通过这些语言编写出功能强大的模块,在 ...

  7. python 按键精灵脚本_[620]使用Python实现一个按键精灵

    按键精灵想必很多人都玩过,使用录制功能将鼠标和键盘的操作录制下来,录制好后就可以通过回放自动执行之前录制的操作,可以设置重复执行的次数,这样就可以将一些重复的劳动交给脚本自动化去完成.使用Python ...

  8. 自由幻想java_使用按键精灵脚本实现《自由幻想》游戏内神医验证码自动校验...

    按键精灵编写的脚本简单方便,最直接的体验是可以代替我们处理简单重复的鼠标键盘操作. <QQ自由幻想>这款游戏系统内置自动挂机功能,但是每隔1个小时就会自动弹出验证码校验,校验不通过就会被踢 ...

  9. 按键精灵脚本简单介绍

    1.什么是按键精灵 按键精灵是一款模拟鼠标键盘动作的软件.通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠 标键盘动作.按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本.只要在电脑前 ...

最新文章

  1. 卫星对地观测及任务调度中日照分析
  2. 把Nginx注册成Windows的系统服务
  3. UBUNTU 下查看所有的C库函数和查询 LINUX 编成必备
  4. Java并发机制的底层实现原理
  5. Linux EOF 输入流
  6. new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)
  7. 【note】fill函数和memset函数的区别和使用
  8. 银行数据库安全可控替代方案探索
  9. [转载] python学习-基础教程、深度学习
  10. JS: 百度地图与腾讯/高德地图经纬度转换
  11. 类似微信的即时通讯服务器,除了微信,还有这些常用即时通讯APP
  12. 4、智慧变电站 - 外围电塔及电线绘制
  13. 仿XP画图板—升级版
  14. 2017年《What Hi-Fi?》杂志评选KEF成最大赢家
  15. python全套教程百度网盘-Python最新全套视频教程百度网盘资源
  16. 不断下沉的咖啡业,是虚假的繁荣还是破局的前夜?
  17. mysql三表关联查询
  18. 2020 全国大学生数学建模竞赛C题思路+代码
  19. 【笔试】京东数据分析暑期实习
  20. linux必装软件有哪些,来说说Linux下的那些常用软件

热门文章

  1. 如何记账,导出账目到表格
  2. ATtiny13与Proteus仿真-TM1637简单时钟仿真
  3. 1.4_18 Axure RP 9 for mac 高保真原型图 - 案例17 【js-echarts官网】
  4. ORACLE 触发器 INSRETING,UPDATING,DELETING 函数
  5. Rocketmq原理与实践
  6. python 里面的无穷大与无穷小
  7. 计算机设备管理器命令,打开计算机管理的命令是什么
  8. 百度地图API,自定义地图标注
  9. LaTeX 中英文字体字号设置
  10. win10安装revit失败,怎么强力卸载删除注册表并重新安装