基本命令:

触摸命令:
命令名称: KeyPress 按键
命令功能: 按一次指定键
语法格式: KeyPress virtual_key
参数说明:
virtual_key:可以是字符串类型,表示某个键的
名字;也可以是数值类型,表示某个键的编码
返回值:
脚本例子:
  
KeyPress "Home" //模拟按一次<房子>键
KeyPress "A"    //模拟按一次字母A键
备注:
我们在使用键盘的时候有两种操作,
一种是“按下”键,一种是“弹起”键,
将这两个动作连续进行,就是一个
完整的“按键”动作

按键功能   按键名称(不区分大小写)
----------------------------------
主页键     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 
8        1          数字1 
9        2          数字2 
10       3          数字3 
11       4          数字4 
12       5          数字5 
13       6          数字6 
14       7          数字7 
15       8          数字8 
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键 
30       B          B键 
31       C          C键 
32       D          D键 
33       E          E键 
34       F          F键 
35       G          G键 
36       H          H键 
37       I          I键 
38       J          J键 
39       K          K键 
40       L          L键 
41       M          M键 
42       N          N键 
43       O          O键 
44       P          P键 
45       Q          Q键 
46       R          R键 
47       S          S键 
48       T          T键 
49       U          U键 
50       V          V键 
51       W          W键 
52       X          X键 
53       Y          Y键 
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键 
132      f2         f2键 
133      f3         f3键 
134      f4         f4键 
135      f5         f5键 
136      f6         f6键 
137      f7         f7键 
138      f8         f8键 
139      f9         f9键 
140      f10        f10键 
141      f11        f11键 
142      f12        f12键 
143      numlock    小键盘锁 
144      0          小键盘0 
145      1          小键盘1 
146      2          小键盘2 
147      3          小键盘3 
148      4          小键盘4 
149      5          小键盘5 
150      6          小键盘6 
151      7          小键盘7 
152      8          小键盘8 
153      9          小键盘9 
154      /          除号 
155      *          乘号 
156      -          减号 
157      +          加号 
158      .          点号 
159      ,          逗号 
160      enter      回车键 
161      =          等号 
162      (          左括号 
163      )          右括号 
164      volmute    扬声器静音键 
165      无         未知键 
166      无         未知键 
167      无         未知键 
168      zoomin     放大键 
169      zoomout    缩小键 
188      gamepadbuttons1  通用游戏手柄按钮#1 
189      gamepadbuttons2  通用游戏手柄按钮#2 
190      gamepadbuttons3  通用游戏手柄按钮#3 
191      gamepadbuttons4  通用游戏手柄按钮#4 
192      gamepadbuttons5  通用游戏手柄按钮#5 
193      gamepadbuttons6  通用游戏手柄按钮#6 
194      gamepadbuttons7  通用游戏手柄按钮#7 
195      gamepadbuttons8  通用游戏手柄按钮#8 
196      gamepadbuttons9  通用游戏手柄按钮#9 
197      gamepadbuttons10 通用游戏手柄按钮#10 
198      gamepadbuttons11 通用游戏手柄按钮#11 
199      gamepadbuttons12 通用游戏手柄按钮#12 
200      gamepadbuttons13 通用游戏手柄按钮#13 
201      gamepadbuttons14 通用游戏手柄按钮#14 
202      gamepadbuttons15 通用游戏手柄按钮#15 
203      gamepadbuttons16 通用游戏手柄按钮#16 
命令名称: KeyDown 按下
命令功能: 按住指定键不放
语法格式: KeyDown virtual_key
参数说明:
virtual_key:可以是字符串类型,表示某个键的
名字;也可以是数值类型,表示某个键的编码
注意:KeyDown命令与KeyUp命令需配套使用 
返回值:
脚本例子:
  
//下面是模拟手动关机的例子
KeyDown "Power"  //模拟按住电源键不放
Delay 3000    //延时3秒
KeyUp "Power"   //松开电源键
备注:
我们在使用键盘的时候有两种操作,
一种是“按下”键,一种是“弹起”键
将这两个动作连续进行,
就是一个完整的“按键”动作
切记,有“按下”就必须要有“弹起”,
千万不要只“按下”,不“弹起”
命令名称: KeyUp 弹起
命令功能: 弹起指定键
语法格式: KeyUp virtual_key
参数说明:
virtual_key:可以是字符串类型,表示某个键的
名字;也可以是数值类型,表示某个键的编码
返回值:
脚本例子:
  
//下面是模拟手动关机的例子
KeyDown "Power"  //模拟按住电源键不放
Delay 3000    //延时3秒
KeyUp "Power"   //松开电源键
备注:
我们在使用键盘的时候有两种操作,
一种是“按下”键,一种是“弹起”键,
将这两个动作连续进行,
就是一个完整的“按键”动作。
切记,有“按下”就必须要有“弹起”,
千万不要只“按下”,不“弹起”。
命令名称: Swipe 划动
命令功能:
模拟手指在屏幕上的划动操作,从点1划动到
点2,可以设置划动耗时。
语法格式: Swipe x1,y1,x2,y2[,time]
参数说明:
x1:整数型,划动的起点x坐标 
y1:整数型,划动的起点y坐标 
x2:整数型,划动的终点x坐标 
y2:整数型,划动的终点y坐标 
time:整数型,划动耗时(可省略),单位毫秒,
省略默认为100毫秒
返回值:
脚本例子:
  
//用300毫秒的时间,从点100,100划动到点200,200
Swipe 100,100,200,200,300
备注:
坐标是通过抓抓来获取的,不管你的设备画面是
横屏还是竖屏,所有坐标一律都是以抓抓显示为准。
注意划动耗时的单位是毫秒,1秒 = 1000毫秒。
滑动(Swipe x1,y1,x2,y2)
操作的本质其实是:按下(TouchDown x,y,标记)+
等待(Delay 毫秒)+移动(TouchMove x,y,标记)+
等待(Delay 毫秒,已被固定写死)+弹起(TouchUp 标记)
命令名称: Tap 点击
命令功能: 短暂点击屏幕上指定的位置
语法格式: Tap x1,y1
参数说明:
x1:整数型,横坐标
y1:整数型,纵坐标
返回值:
脚本例子:
//点击屏幕坐标100,100位置
Tap 100,100
备注:
坐标是通过抓抓来获取的,不管你的设备画面是
横屏还是竖屏,所有坐标一律都是以抓抓显示为准。
注意:触屏点击(Tap x,y)操作的本质其实是按下
(TouchDown x,y,标记)+等待(Delay 毫秒,被固定
写死)+弹起(TouchUp 标记)
命令名称: Touch 按住一段时间
命令功能: 点击屏幕上的指定位置,并持续按住一段时间
语法格式: Touch x1,y1,time
参数说明:
x:整数型,横坐标 
y:整数型,纵坐标 
time:整数型,持续时间,单位为毫秒
返回值:
脚本例子:
//点击屏幕坐标(100,100)的点,并持续按住100毫秒(0.1秒)
Touch 100,100,100
备注:
坐标是通过抓抓来获取的,不管你的设备画面是
横屏还是竖屏,所有坐标一律都是以抓抓显示为准。
注意持续时间的单位是毫秒,1秒 = 1000毫秒。
命令名称: TouchDown 按住不放
命令功能: 按下屏幕上指定位置的点,目前支持同时按下5个点
语法格式: TouchDown x1,y1[,id]
参数说明:
x:整数型,横坐标
y:整数型,纵坐标 
id:整数型,可选参数,这个触点的自定义ID,
建议取值范围为[-9999,9999] 

注意:TouchDown命令与TouchUp命令需配套使用 
返回值:
脚本例子:
  
//以下是多点触控的例子
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的触点
备注:
坐标是通过抓抓来获取的,不管你的设备画面是
横屏还是竖屏,所有坐标一律都是以抓抓显示为准。
如果同时按下5个点,可以通过设置不同的触点ID,
配合TouchMove与TouchUp
对每一个位置的触点进行单独移动弹起。
命令名称: TouchMove 滑动
命令功能: 模拟滑动操作
语法格式: TouchMove x1,y1[,id,time]
参数说明:
x:整数型,要移动到的目标横坐标
y:整数型,要移动到的目标纵坐标 
id:整数型,可选参数,这个触点的自定义ID,
建议取值范围为[-9999,9999] 
time:滑动到目标点的耗时,可省略,单位毫秒,
如果省略的话默认是100毫秒
返回值:
脚本例子:
  
//以下是多点触控的例子
TouchDown 100, 100, 1
//按住屏幕上的100,100坐标不放,并设置此触点ID=1
TouchDown 200, 200, 1
//按住屏幕上的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的触点
备注:
坐标是通过抓抓来获取的,不管你的设备画面是
横屏还是竖屏,所有坐标一律都是以抓抓显示为准。
注意滑动耗时的单位是毫秒,1秒 = 1000毫秒。
此命令需要配合TouchDown方可有效
命令名称: TouchUp 弹起
命令功能: 弹起TouchDown命令按下的点
语法格式: TouchUp [id]
参数说明:
id:整数型,可选参数,这个触点的自定义ID
返回值:
脚本例子:
  
//以下是多点触控的例子
TouchDown 100, 100, 1
//按住屏幕上的100,100坐标不放,并设置此触点ID=1
TouchDown 200, 200, 1
//按住屏幕上的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的触点
备注:
此命令需要配合TouchDown方可有效。
控制命令:
命令名称: If 如果..则 (判断表达式并执行语句)
命令功能: 如果条件表达式成立,则执行对应语句
语法格式:
If 条件  Then
执行语句
End If
参数说明:
参数1 条件型,任意有效表达式
返回值:
脚本例子:
  
例子1:
Dim i=0
If i=0 Then
    TracePrint "条件判断符合被通过!!"
End If
//通过判断表达式的取值,来执行后面的动作或控制
例子2:
Dim i=0
If i=0 Then
    TracePrint "条件判断符合被通过!!"
ElseIf i=1 Then
    TracePrint "否则条件判断符合被通过!!"
Else
    TracePrint "否则!!"
End If
//通过判断表达式的取值,来执行后面的动作或控制
备注:
If判断相当于我们口语中说的如果……则……否则
如果……则……否则……
一个If判断必须要有一个End If来配对,里面
的ElseIf可以有多个,但是Else最多只能有一个,
并且Else只能放在最后一个条件上
Select Case语句与If语句类似,但是两者也有区别
If主要用于多个不同条件的判断,而Select Case
则是用于同一个条件多个不同结果的判断
命令名称: Select Case 情况条件选择
命令功能: 根据情况条件来选择执行对应语句
语法格式:
Select Case 变量
Case 值1[,值2,...]
执行语句1
Case Else
执行语句2
End Select
循环体
Wend
参数说明:
变量:任意有效变量,检查是否与下面值相等。
值:任意有效值,不支持判断语句,多个值用逗号“,”
隔开表示逻辑运算中的“或”运算。
执行语句:任意有效代码语句。
返回值:
脚本例子:
 
//不支持判断语句 如:Case a>0
//<>-以下是选择条件结结构判断
Dim 变量=1
Select Case 变量
Case 0,1    可支持判断多个值,中间以逗号隔开
    TracePrint "你输入的数字为:0或者1"  
Case 2
    TracePrint "你输入的数字为:2" 
Case 3
    TracePrint "你输入的数字为:3" 
Case 4
    TracePrint "你输入的数字为:4" 
Case 5
    TracePrint "你输入的数字为:5" 
Case 6
    TracePrint "你输入的数字为:6" 
Case 7
    TracePrint "你输入的数字为:7" 
Case 8
    TracePrint "你输入的数字为:8" 
Case 9
    TracePrint "你输入的数字为:9" 
Case Else
    TracePrint "你输入的数字不正确,请输入(0~9)数字!"
End Select
备注:
Select Case后面跟的是一个变量,下面Case条件跟的是值,
不能跟判断语句,比如i>0之类的不支持
一个Select Case判断必须要有一个End Select来配对,
里面的Case可以有多个,但是Case Else最多只能有一个,
并且Case Else只能放在最后一个条件上
Select Case语句与If语句类似,但是两者也有区别
If主要用于多个不同条件的判断,
而Select Case则是用于同一个条件多个不同结果的判断
命令名称: Do 循环
命令功能: 条件循环语句。可以是无限循环,也可以是有限循环
语法格式:
5种语法格式,详见例子1—5
参数说明:
参数1 条件:判断条件表达式
参数2 循环体:任意有效代码语句
返回值:
脚本例子:
例子1:
//支持Exit Do 命令退出循环
Do 
    TracePrint "我停不下来啦!!快住手"
Loop
//最常见的无限循环(死循环)

例子2:
Dim i=0
Do While i=0
    TracePrint "我停不下来啦!!快住手"
Loop
//当循环条件成立的时候,反复执行循环体

例子3:
Dim i=0
Do Until i=0
    TracePrint "为什么没有循环到我呢?"
Loop
TracePrint "循环结束"
//当循环条件成立的时候,离开循环体

例子4:
Dim i=0
Do Until i=1
    TracePrint "我停不下来啦!!快住手"
Loop
//当循环条件不成立的时候,反复执行循环体

例子5:
Dim i=0
Do 
   TracePrint "ok"
Loop While i <> 0
//条件放后面,前面的循环内容可以执行一次!

例子6:
Dim n=0
Do While true
    TracePrint "我将循环10次停下来!!"
    If n>=10 Then
        //当循环条件成立的时候,离开循环体
        Exit do
    End if
    n=n+1
Loop
TracePrint n & "次"
备注:
Do循环通常用于无限循环与条件循环,要
注意While和Until的位置与条件,如果怕弄迷糊的话,
那么就使用If结合Exit Do作为退出条件
Exit Do只能退出当前的Do循环。
命令名称: For 循环一定次数
命令功能:
循环语句。可以循环一定次数,也可以按照变量的
起始数值到终止数值循环(如果不指定步长数值,
默认步长为1)
语法格式:
2种语法格式,详见例子1、2

For 次数
执行语句
Next
参数说明:
参数1 整数型,循环次数
返回值:
脚本例子:
  
例子1:固定循环次数后离开
For 10 '固定循环10次跳出
    TracePrint "循环中……"
Next
TracePrint "离开循环"

例子2:范围循环
Dim i
'这里没写步长,默认每次循环结束 i 都+1,
那么10次后等于9,第11次等于10,大于9,离开循环
For i = 0 To 9 
    TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

Dim i
 '步长为2,每次循环结束 i 都+2,
那么10次后等于18,第11次等于20,大于19,离开循环
For i = 0 To 19 Step 2
    TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

Dim i
 '步长为-1,每次循环结束 i 都-1,
那么10次后等于0,第11次等于-1,小于0,离开循环
For i = 9 To 0 Step -1
    TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

例子3:循环离开
Dim i
i=5
For i=0 To 10
    TracePrint "循环中,i=" & i
    If i=5 Then
        Exit For '离开当前For循环
    End If
Next
备注:
For循环通常是用于表示有限次数循环,故最好
避免将步长设置为0或者在循环体中改变循环变量的值
Exit For只能退出当前的For循环
命令名称: For Each...In 遍历数组
命令功能: 对数组中的每个元素重复执行一组语句
语法格式:
For Each 变量名 in 数组
执行语句
Next
参数说明:
参数1 变量名,临时数组元素 
参数2 数组,待遍历数组
返回值:
脚本例子:
 
Dim Arr
Arr=Array("我","爱","按","键","精","灵","!")
For Each a In Arr 
TracePrint  a    //输出数组的所有元素
Next
备注:
变量名存放的是临时数组元素,可不定义
命令名称: While 如果..则 (判断表达式并执行语句)
命令功能: 如果条件表达式成立,则循环执行对应语句
语法格式:
While 条件
循环体
Wend
参数说明:
参数1 条件型,任意有效表达式
返回值:
脚本例子:
  
例子1
Dim i=0
While i=0
    TracePrint "我停不下来啦!!快住手"
Wend
//当循环条件成立的时候,反复执行循环体

例子2
Dim i
i = 0
//跳出循环
While i < 10
   i = i + 1
   TracePrint "正在循环中,i=", i
   If i = 5 then
      TracePrint "准备退出循环"
      Exit While
   End If
Wend
TracePrint "循环结束,i=", i
备注:
While循环通常用于无限循环与条件循环,
但是灵活性不如Do循环,推荐使用 Do 循环
Exit While只能退出当前的While循环
命令名称: Function 函数
命令功能: 定义一个函数
语法格式:
Function 函数名([自定义参数1, 自定义参数2, ...])
执行语句
[函数名=返回值]
End Function
参数说明:
函数名:任意有效标识符。
执行语句:任意有效代码语句。
自定义参数:可选参数,允许多个,任意有效标识符
返回值: 可选,自定义返回值
脚本例子:
  
例子1:自定义函数调用
Call 自定义函数()
EndScript
Function 自定义函数()
    TracePrint "我是自定义函数,被你调用了"
End Function

例子2:自定义函数调用并传入参数,参数可支持多个。
Dim 变量1,变量2
变量1="我是字符串信息"
变量2=123
Call 子程序(变量1,变量2,"第三个参数",456)
EndScript
//定义一个过程,可以在脚本中调用这个过程
Function 自定义函数(参数1,参数2,参数3,参数4)
    TracePrint "我是自定义函数,被你调用了"
    TracePrint "参数1=" & 参数1
    TracePrint "参数2=" & 参数2
    TracePrint "参数3=" & 参数3
    TracePrint "参数4=" & 参数4
End Function
//支持Exit Function 命令直接退出子程序过程

例子3:Function与Sub的区别,支持返回值
Dim 返回值
返回值=自定义函数()
TracePrint 返回值
EndScript
Function 自定义函数()
    TracePrint "我是自定义函数,被你调用了"
    自定义函数="把过程中想要返回的信息写这里"
End Function

例子4:自定义函数加法运算
Dim 返回值
返回值=加法运算(1,2)
TracePrint 返回值
EndScript
Function 加法运算(参数1,参数2)
    TracePrint "我是自定义函数,被你调用了"
    Dim 计算结果
    计算结果=参数1+参数2
    加法运算=计算结果
End Function
备注:
函数可以代替所有子程序,而子程序无法代替所有函数,
因为函数有返回值,子程序没有返回值
命令名称: Sub 子程序
命令功能: 定义一个过程(子程序)
语法格式:
Sub 子程序名([自定义参数1, 自定义参数2, ...])
执行语句
End Sub
参数说明:
子程序名:任意有效标识符
执行语句:任意有效代码语句
自定义参数:可选参数,允许多个,任意有效标识符
返回值:
脚本例子:
  
例子1:子程序调用
Call 子程序()
EndScript
Sub 子程序()
    TracePrint "我是子程序,被你调用了"
End Sub

例子2:子程序调用并传入参数,参数可支持多个。
Dim 变量1,变量2
变量1="我是字符串信息"
变量2=123
Call 子程序(变量1,变量2,"第三个参数",456)
EndScript
//定义一个过程,可以在脚本中调用这个过程
Sub 子程序(参数1,参数2,参数3,参数4)
    TracePrint "我是子程序,被你调用了"
    TracePrint "参数1=" & 参数1
    TracePrint "参数2=" & 参数2
    TracePrint "参数3=" & 参数3
    TracePrint "参数4=" & 参数4
End Sub
//支持Exit Sub 命令直接退出子程序过程
备注:
函数可以代替所有子程序,而子程序无法代替所有函数,
因为函数有返回值,子程序没有返回值
若省略调用关键字Call与参数的括号,则子程序与
自定义参数之间必须用空格隔开
命令名称: Rem 标记
命令功能: 标记命令
语法格式:
Rem identifier
参数说明:
identifier 字符串型,过程名,任意有效标识符
返回值:
脚本例子:
  
//不支持数字开头的和符号作为标记名
Rem 脚本开始
备注:
Rem既可以作为标记,配合 Goto 跳转 使用,
也可以作为注释
命令名称: Goto 跳转到标记
命令功能: 跳转到Rem标记处
语法格式:
Goto sign
参数说明:
sign: 字符串型,标记,由Rem定义的任意有效标识符
返回值:
脚本例子:
  
Goto 标记
Delay 100
Rem 标记
TracePrint "你直接跳到这里了!!,上面的延迟没有被执行!!"
//跳转语句,可以跳转到rem标记过的标记处继续执行
备注:
可以适当使用Goto,但是不能过度滥用Goto
命令名称: EndScript 脚本停止运行
命令功能: 强制结束脚本的执行
语法格式:
EndScript
参数说明:
返回值:
脚本例子:
TracePrint "脚本开始执行"
EndScript
TracePrint "上面强制停止了,这里不会输出"
备注:
无条件强制结束一个脚本的执行,包括多线程也会停止
命令名称: Call 调用过程
命令功能: 调用函数或者子程序
语法格式:
Call 过程名([自定义参数1, 自定义参数2, ...])
参数说明:
参数1:字符串型,过程名
参数2:自定义参数:可选参数,允许多个,
根据调用的过程确定参数的数量。
返回值:
脚本例子:
例子1
Call 子程序("我是子程序,被你调用了")
EndScript
//支持中文名变量
Sub 子程序(参数)
    TracePrint 参数
End Sub
//定义一个过程,可以在脚本中调用这个过程

例子2
Call 函数()
TracePrint "调用函数结束了"
Function 函数()
   TracePrint "我是被你调用的函数"
End Function
备注:
若调用子程序时,省略调用关键字Call与参数的括号,
则子程序与自定义参数之间必须用空格隔开
子程序使用Call调用时,无法保存返回值到变量中
颜色命令:
命令名称: CmpColor 对比指定点颜色
命令功能: 比较指定坐标点的颜色,支持多色、偏色、相似度比较
语法格式: CmpColor(x,y,color,sim)
参数说明:
x:整数型,需要对比颜色的X坐标
y:整数型,需要对比颜色的Y坐标
color:字符串,待比较的16进制颜色,格式为"BBGGRR",
多个颜色用“|”号分隔,
支持偏色,比如"FFFFFF-101010|123456"
sim:双精度浮点数,相似度,取值范围0-1
返回值: 整数型:返回匹配的颜色序号,从0开始索引. 如果全部不相等则返回-1
脚本例子:
Dim 是否相等
是否相等 = CmpColor(100,200,"FFFFFF|00FF00-101010",0.9)
If 是否相等 > -1 Then
    TracePrint "匹配颜色的序号为:"&是否相等
Else
    TracePrint "没有匹配的颜色"
End If
备注:
偏色是微调,指对RBG三色分别确定取色范围
相似度是粗调,指对颜色整体做百分比判断
命令名称: CmpColorEx 对比多个点颜色
命令功能: 同时比较指定的多个坐标点的颜色, 支持多色、偏色、相似度比较
语法格式: CmpColorEx(mul_color,sim)
参数说明:
mul_color:字符串,需要对比的点xy坐标和16进制颜色,
格式为(X坐标|Y坐标|16进制颜色),
多个颜色用“|”号分隔,需要偏色用“-”号分隔,
多个点信息用“,”号分隔,
比如"100|200|FFFFFF|123456-000000,300|500|FFFFFF"
sim:双精度浮点数,相似度,取值范围0-1
返回值: 整数型:返回0代表没找到,返回1代表找到
脚本例子:
  
If CmpColorEx("300|500|FFFFFF|123456-102030," & _
"305|505|FFFFFF",0.9) = 1 Then
    TracePrint "全部点颜色相等"
Else
    TracePrint "有一个或多个颜色不符合"
End If
备注:
偏色是微调,指对RBG三色分别确定取色范围
相似度是粗调,指对颜色整体做百分比判断
命令名称: ColorDiff 获取俩个颜色BGR差值之和
命令功能: 求两个颜色的红、绿、蓝三个分量的差值之总和
语法格式: ColorDiff(color1,color2)
参数说明:
color1:16进制颜色,格式为"BBGGRR",或者10进制颜色
color2:16进制颜色,格式为"BBGGRR",或者10进制颜色
返回值: 整数型:两个颜色的红、绿、蓝三个分量的差值之总和
脚本例子:
  
Dim 颜色差值
颜色差值 = ColorDiff("FFFFFF", 123456)
TracePrint "两个颜色差值为:" & 颜色差值
备注:
返回值常用于计算颜色相似度上
命令名称: ColorToRGB 分解颜色成RGB
命令功能: 把颜色分解为红、绿、蓝三个分量
语法格式: ColorToRGB(color,r,g,b)
参数说明:
color:颜色值可以为16进制字符串,
格式为"BBGGRR",也可以为十进制
r:整数型,十进制颜色红分量
g:整数型,十进制颜色绿分量
b:整数型,十进制颜色蓝分量
返回值: 无,结果保存在变参指针中
脚本例子:
Dim r,g,b
ColorToRGB("FF00AA",r,g,b)
TracePrint r,g,b  
备注:
RGB三分量常用于计算颜色相似度上
命令名称: EnableFastCapture 开启快速截图取色模式
命令功能: 开启快速截图取色模式,提高相关图色函数效率
语法格式: EnableFastCapture(BOOL)
参数说明:
布尔型,True为开启,False为关闭
返回值: 布尔型,True为开启成功,False为开启失败
脚本例子:
  
Dim t
//用于计算时间
t = TickCount()
For i = 1 To 100
    //如果这里不TracePrint,时间还会缩短不少
    TracePrint GetPixelColor(100, 100)
Next
TracePrint TickCount() - t

//以下是开启快速截图模式的测试例子,请自行测试效果,对照时间
Dim result
//开启快速截图模式,如果在Android 4.2以上,
//会返回FALSE,表示打开失败
result = EnableFastCapture(true)
TracePrint result
//用于计算时间
t = TickCount()
For i = 1 To 100
    //如果这里不TracePrint,时间还会缩短不少
    TracePrint GetPixelColor(100, 100)
Next
TracePrint TickCount() - t
备注:
该命令仅在低于安卓4.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坐标
返回值:
整数型:返回找到的颜色的序号,从0开始索引.
没找到返回-1
脚本例子:
  
Dim IntX,IntY
FindColor 0,0,0,0,"123456-000000|aabbcc-030303" & _
"|ddeeff-202020",0,1.0,intX,intY
If intX >-1 then
    Traceprint "找到"
Else
    Traceprint "没有找到"
End If

Dim intX, intY,返回值
返回值=FindColor(0, 0, 0, 0, "0000FF-101010|" & _
"FFFFFF-000000|FF00FF",0, 0.9, intX, intY)
'当需要函数返回值时需要加括号
If 返回值 > -1 Then
    TracePrint "找到的颜色序号为"&返回值 & _
",坐标在"&intX&","&intY
Else
    TracePrint "全部没找到"
End If
备注:
当区域范围均为0时,表示全屏查找颜色
偏色是微调,指对RBG三色分别确定取色范围
相似度是粗调,指对颜色整体做百分比判断
命令名称: 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"
返回值:
脚本例子:
  
Dim IntX,IntY
FindMultiColor 0,0,0,0,"FFFFFF","4|1|2F9772-" & _
"000000|123456-101010,3|7|378757",0,0.9,intX,intY
If intX > -1 Then
    TracePrint "找到啦,坐标在"&intX&","&intY
Else
    TracePrint "没找到"
End If
备注:
当区域范围均为0时,表示全屏查找颜色
偏色是微调,指对RBG三色分别确定取色范围
相似度是粗调,指对颜色整体做百分比判断
命令名称: GetColorNum 获取区域颜色数量
命令功能: 获取指定区域的颜色数量,支持偏色、多色、相似度
语法格式: GetColorNum(x1,y1,x2,y2,color,sim)
参数说明:
x1:整数型,区域左上X坐标 
y1:整数型,区域左上Y坐标 
x2:整数型,区域右下X坐标 
y2:整数型,区域右下Y坐标
color:字符串,要找的16进制颜色,格式为"BBGGRR",
多个颜色用“|”号分隔,支持偏色,
比如"FFFFFF-000000|123456"
sim:双精度浮点数,相似度,取值范围0-1
返回值: 整数型:返回找到的颜色数量
脚本例子:
  
Dim 颜色数量
颜色数量 = GetColorNum(26,20,31,26,"FFFFFF|"& _
"123456-000000",1.0)
TracePrint "找到的颜色数量有" & 颜色数量 & "个"
备注:
偏色是微调,指对RBG三色分别确定取色范围
相似度是粗调,指对颜色整体做百分比判断
命令名称: GetPixelColor 获取指定点颜色
命令功能: 得到某点的颜色
语法格式: GetPixelColor(x,y[,type])
参数说明:
x:整数型,屏幕x坐标
y:整数型,屏幕y坐标
type:浮点型,返回类型,可省略,默认为0
注意:返回类型为0时:颜色值是16进制,
格式为"BBGGRR",不为0时:颜色值是10进制数值
返回值: 此点的颜色值
脚本例子:
 
Dim rColor
rColor = GetPixelColor(300, 300,0)
TracePrint "这个点的颜色为:"&rColor
备注:
要根据返回类型参数来确定返回值的数据类型
命令名称: RGB 合并颜色
命令功能: 返回代表RGB颜色值的整数
语法格式: RGB(red,green,blue)
参数说明:
red:0到255间的整数,代表颜色中的红色成分
green:0到255间的整数,代表颜色中的绿色成分
blue:0到255间的整数,代表颜色中的蓝色成分
返回值: 10进制颜色值
脚本例子:
  
Dim Col
Col = RGB(1,1,0)
Traceprint Col
备注:
返回值常用于计算颜色相似度上
图形命令:
命令名称: FindPic 找图
命令功能:
查找指定的图片,支持多图、偏色、相似度查找,
支持查找透明图,只返回第一个找到的坐标
语法格式: FindPic x1,y1,x2,y2,pic_name,delta_color, dir,sim,intX,intY
参数说明:
x1:整数型,查找区域左上X坐标 
y1:整数型,查找区域左上Y坐标 
x2:整数型,查找区域右下X坐标 
y2:整数型,查找区域右下Y坐标
pic_name:字符串,要找的图片名字,多个图片用“|”号分隔
delta_color:16进制字符串,偏色
sim:双精度浮点数,相似度,取值范围0-1
dir:整数型,查找方向:
0:表示从左上向右下查找;
1:表示从中心往四周查找;
2:表示从右下向左上查找;
3:表示从左下向右上查找;
4:表示从右上向左下查找;
intX:变参指针,返回找到的X坐标
intY:变参指针,返回找到的Y坐标
返回值: 返回找到的图片的序号,从0开始索引.如果没找到返回-1
脚本例子:
  
Dim intX, intY
FindPic 0, 0, 0, 0, "Attachment:1.png","000000", _
0, 0.8, intX, intY
If intX >-1 then
    TracePrint "找到啦,坐标是"&intX&","&intY
Else
    TracePrint "没找到"
End If

Dim intX, intY,返回值
返回值=FindPic(0, 0, 0, 0, "Attachment:1.png|"& _
"Attachment:2.png","000000",0, 0.8, intX, intY)
'需要用函数返回值时要加个括号
If 返回值>-1 then
     TracePrint "找到的图片序号为"&返回值 & _
",坐标为"&intX&","&intY
Else
     TracePrint "全部没找到"
End If
备注:
当区域范围均为0时,表示全屏查找颜色
偏色是微调,指对RBG三色分别确定取色范围
相似度是粗调,指对颜色整体做百分比判断
透明图是指当你图片4个角的颜色均相同时,
则这张图片中所有这个颜色将被视为透明色,
在找图匹配点过程中忽略这些点的颜色另外,
透明图也支持PNG格式图片中的透明点
命令名称: KeepCapture 截图至内存
命令功能:
截取当前屏幕内容保留在内存,随后执行的图色
函数均从内存中快速查找,直到用 
ReleaseCapture 删除内存中的截图 取消
语法格式: KeepCapture
参数说明:
无参数
返回值:
脚本例子:
  
//截图至内存中,后续执行GetPixelColor、
//FindColor、FindPic等图色函数的时候,
//直接在此次截取的屏幕内容上取色或查找
KeepCapture
TracePrint "这里开始的图色函数均从内存中查找"
TracePrint "也就意味着,查找的并非即时屏幕画面,"& _
"而是保存在内存中的那张截图。"
//删除内存中的截图,并恢复正常屏幕画面的图色操作
ReleaseCapture
TracePrint "这里开始恢复即时屏幕画面的查找了"
备注:
当调用KeepCapture后,所有的图色操作都将
从内存中的那张图片中查找执行。
虽然速度很快,但内存中的图片一直未更新,
意味着操作的图色都是截图时候的,并非最新的屏幕内容
当没有调用KeepCapture,或者KeepCapture的截图被取消的时候,
每次执行GetPixelColor、FindColor、FindPic等图色函数的时候,
都会自动截取当前屏幕内容。虽然速度较慢,
但总是能得到最新的屏幕内容
命令名称: ReleaseCapture 释放(即删除)内存中的截图
命令功能: 释放(即删除)保留在内存中的屏幕内容截图
语法格式: ReleaseCapture
参数说明:
无参数
返回值:
脚本例子:
  
//截图至内存中,后续执行GetPixelColor、
//FindColor、FindPic等图色函数的时候,
//直接在此次截取的屏幕内容上取色或查找
KeepCapture
TracePrint "这里开始的图色函数均从内存中查找"
TracePrint "也就意味着,查找的并非即时屏幕画面,"& _
"而是保存在内存中的那张截图。"
//删除内存中的截图,并恢复正常屏幕画面的图色操作
ReleaseCapture
TracePrint "这里开始恢复即时屏幕画面的查找了"
备注:
当调用KeepCapture后,所有的图色操作都将
从内存中的那张图片中查找执行
虽然速度很快,但内存中的图片一直未更新
意味着操作的图色都是截图时候的,并非最新的屏幕内容
当没有调用KeepCapture,或者KeepCapture的截图被取消的时候
每次执行GetPixelColor、FindColor、FindPic等图色函数的时候
都会自动截取当前屏幕内容。虽然速度较慢,
但总是能得到最新的屏幕内容
命令名称: SnapShot 截图至文件
命令功能: 截屏并保存为PNG文件
语法格式: SnapShot file_name[,x1,y1,x2,y2]
参数说明:
file_name:字符型,文件名(即截取
范围图片后,要保存的路径)
x1:整数型,区域左上角x坐标 
y1:整数型,区域左上角y坐标 
x2:整数型,区域右下角x坐标 
y2:整数型,区域右下角y坐标
返回值:
脚本例子:
  
//例子1
//全屏截图,命名为test.png并保存至sd卡
SnapShot "/sdcard/test.png"

//例子2
//只截取屏幕左上角100,100到右下角300,300范围图片,
//命名为test.png并保存至sd卡
SnapShot "/sdcard/test.png",100,100,300,300
备注:
目前已可设置截图的区域范围,这是2.3版新增功能
如果省略区域范围默认是全屏截图在手机中的路径
可以使用RE管理器之类的应用查看
文字命令:
命令名称: SetDict 设置字库文件
命令功能: 设置(加载)字库文件
语法格式: SetDict(index,file-name)
参数说明:
index 整形数:字库的序号,取值为0-9,目前最多支持10个字库
file-name 字符串:字库路径及其文件名
返回值: 整形数,失败返回0,成功返回1
脚本例子:
  
TracePrint SetDict(0, "Attachment:s1.txt")
//设置附件中的s1.txt文档为0号字库
TracePrint SetDict(1, "Attachment:s2.txt")
//设置附件中的s2.txt文档为1号字库
备注:
目前可设置的字库文件序号为0-9
此函数速度较慢,全局初始化时调用一次即可,切换字库用UseDict
字库点阵的提取与制作是用大漠来做的,与大漠做字库的方法一致,
注意字库图片的截取要在手机抓抓图片里截取
修改字库文件后记得更新到脚本附件,目前只支持直接
调用放在附件中的字库文档,还不支持绝对路径,具体格式参考例子
命令名称: UseDict 使用字库
命令功能: 设置使用哪个字库文件进行识别(index范围:0-9) 设置之后,永久生效,除非再次设定
语法格式: UseDict(index)
参数说明:
index 整形数:字库编号(0-9)
返回值: 整形数,失败返回0,成功返回1
脚本例子:
  
TracePrint SetDict(0, "Attachment:s1.txt")
//设置附件中的s1.txt文档为0号字库
TracePrint SetDict(1, "Attachment:s2.txt")
//设置附件中的s2.txt文档为0号字库
TracePrint UseDict(0)
//使用0号字库文件,之后的找字、识别都在这个文件点阵中匹配
'相关找字、识别文字代码
TracePrint SetDict(1)
//这里开始切换到0号字库进行识别
'相关找字、识别文字代码
备注:
目前可设置的字库文件序号为0-9
命令名称: Findstr 区域找字
命令功能:
在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个
字符串的组合),并返回符合color_format的坐标位置,
相似度sim同Ocr接口描述.(多色,差色查找类似于Ocr接口,不再重述)
语法格式:
索引值=FindStr(x1,y1,x2,y2,string,color_format,
sim,intX,intY)
参数说明:
x1:整形数:区域的左上X坐标
y1:整形数:区域的左上Y坐标
x2:整形数:区域的右下X坐标
y2:整形数:区域的右下Y坐标
string 字符串:待查找的字符串,可以是字符串组合,
比如"长安|洛阳|大雁塔",中间用"|"来分割字符串
color_format:字符串:颜色格式串. 可以包含换行分隔符,
语法是","后加分割字符串. 具体可以查看下面的示例.
sim:双精度浮点数:相似度,取值范围0.1-1.0
intX 变参指针:返回X坐标 没找到返回-1
intY 变参指针:返回Y坐标 没找到返回-1
返回值:
索引值:整形数,
返回字符串的索引 没找到返回-1, 比如"长安|洛阳",
若找到长安,则返回0,找到洛阳则返回1
脚本例子:
  
TracePrint SetDict(0, "Attachment:s1.txt")
//设置附件中的s1.txt文档为0号字库
TracePrint UseDict(0)
//使用0号字库文件,之后的找字、识别都在这个文件点阵中匹配
Dim 索引值,intX,intY
索引值 = FindStr(0,0,2000,2000,"长安",_
"9f2e3f-000000",1.0,intX,intY)
If intX >= 0 and intY >= 0 Then
    Tap intX,intY
End If

索引值 = FindStr(0,0,2000,2000,"长安|洛阳",_
"9f2e3f-000000",0.9,intX,intY)
If intX >= 0 and intY >= 0 Then
     Tap intX,intY
End If

索引值 = FindStr(0,0,2000,2000,"长安|洛阳",_
"9f2e3f-000000",0.9,intX,intY)
Select Case 索引值
Case 0
    Traceprint "找到长安"
Case 1
    Traceprint "找到洛阳"
End Select 
备注:
字库点阵的提取与制作是用大漠来做的,与大漠
做字库的方法一致,注意字库图片的截取要
在手机抓抓图片里截取
修改字库文件后记得更新到脚本附件,目前只支持
直接调用放在附件中的字库文档,还不支持绝对路径
颜色格式串的设置跟大漠有区别,
大漠得到的颜色是RGB,这边需要转换成按键的BGR格式
目前不支持HSV颜色、背景色识别、识别后得到的
字符串也不支持用分割符隔开
四个坐标范围都为0则默认为全屏查找,建议设置好
相应的查找范围,会有效提高找字效率
命令名称: Ocr 文字识别
命令功能: 识别指定范围内符合指定相似度的颜色偏移特征组的字符串
语法格式: string=Ocr(x1,y1,x2,y2,color_format,sim)
参数说明:
x1:整形数:区域的左上X坐标
y1:整形数:区域的左上Y坐标
x2:整形数:区域的右下X坐标
y2:整形数:区域的右下Y坐标
color_format:字符串:颜色格式串. 可以包含换行分隔符,
语法是","后加分割字符串. 具体可以查看下面的示例.
sim:双精度浮点数:相似度,取值范围0.1-1.0
返回值: string:字符串 返回识别到的字符串,失败返回空
脚本例子:
  
TracePrint SetDict(0, "Attachment:s1.txt")
//设置附件中的s1.txt文档为0号字库
TracePrint UseDict(0)
//使用0号字库文件,之后的找字、识别都在这个文件点阵中匹配
Dim  识别文字
//BGR单色识别
识别文字=Ocr(0,0,0,0,"9f2e3f-000000",0.9)
Traceprint 识别文字
//BGR单色差色识别
识别文字= Ocr(110,160,250,250,"9f2e3f-030303",0.9)
Traceprint 识别文字
//BGR多色识别(理论上最多支持128种,每种颜色用"|"分割)
识别文字 = Ocr(0,0,0,0,"9f2e3f-030303|"& _
"2d3f2f-000000|3f9e4d-100000",0.9)
Traceprint 识别文字
备注:
字库点阵的提取与制作是用大漠来做的,与大漠
做字库的方法一致,注意字库图片的截取要
在手机抓抓图片里截取
修改字库文件后记得更新到脚本附件,
目前只支持直接调用放在附件中的字库文档,还不支持绝对路径
颜色格式串的设置跟大漠有区别,
大漠得到的颜色是RGB,这边需要转换成按键的BGR格式
目前不支持HSV颜色、背景色识别、识别后得到的
字符串也不支持用分割符隔开
四个坐标范围都为0则默认为全屏查找,建议设置好
相应的查找范围,会有效提高找字效率
设备命令:
命令名称: GetDeviceID 获取设置唯一编号
命令功能: 得到当前设备的唯一编号,即手机串号imei
语法格式: GetDeviceID()
参数说明:
返回值: 整数型:设备的唯一编号
脚本例子:
  
Dim 返回值
返回值=GetDeviceID()
TracePrint "当前设备唯一编号:" & 返回值
备注:
GSM手机获取得到的是IMEI
CDMA手机获取得到的是MEID或者ESN
命令名称: GetScreenColorDep 获取屏幕颜色深度
命令功能: 得到当前屏幕的颜色深度
语法格式: GetScreenColorDep()
参数说明:
返回值: 整数型:当前屏幕的颜色深度
脚本例子:
  
Dim 返回值
返回值=GetScreenColorDep() 
TracePrint "当前屏幕深度:" & 返回值
备注:
手机颜色深度类似于电脑中的屏幕颜色质量
命令名称: GetScreenX 获取屏幕横向分辨率
命令功能: 得到当前屏幕的横向分辨率
语法格式: GetScreenX()
参数说明:
返回值: 整数型:屏幕宽度,以像素为单位
脚本例子:
  
Dim 屏幕横坐标X,屏幕纵坐标Y
屏幕横坐标X=GetScreenX()
屏幕纵坐标Y=GetScreenY()
TracePrint 屏幕横坐标X,屏幕纵坐标Y
备注:
类似于电脑中的屏幕横向分辨率
命令名称: GetScreenY 获取屏幕纵向分辨率
命令功能: 得到当前屏幕的纵向分辨率
语法格式: GetScreenY()
参数说明:
返回值: 整数型:屏幕高度,以像素为单位
脚本例子:
  
Dim 屏幕横坐标X,屏幕纵坐标Y
屏幕横坐标X=GetScreenX()
屏幕纵坐标Y=GetScreenY()
TracePrint 屏幕横坐标X,屏幕纵坐标Y 
备注:
类似于电脑中的屏幕纵向分辨率
命令名称: GetScreenRotation 获取屏幕旋转方向
命令功能: 返回当前屏幕的旋转方向
语法格式: GetScreenRotation()
参数说明:
返回值:
返回值为0,表示屏幕没有旋转
返回值为1.表示屏幕逆时针旋转90度
返回值为2.表示屏幕逆时针旋转180度
返回值为3.表示屏幕逆时针旋转270度
脚本例子:
  
Dim 返回值
返回值=GetScreenRotation()
If 返回值=0 Then
TracePrint "屏幕没有旋转"
ElseIf 返回值 = 1 Then
TracePrint "屏幕逆时针旋转90度"
ElseIf 返回值 = 2 Then
TracePrint "屏幕逆时针旋转180度"
ElseIf 返回值 = 3 Then
TracePrint "屏幕逆时针旋转270度"
End If
备注:
命令名称: GetRunningApp 读取运行中的应用包名列表
命令功能: 读取设备中正在运行的应用程序包名列表
语法格式: arr = GetRunningApp()
参数说明:
返回值: arr:字符型数组,返回运行中的所有应用程序包名的字符数组
脚本例子:
Dim arr() //定义一个数组变量
arr=GetRunningApp() 
//获取所有应用程序包名并将它们合并到arr数组中保存
For each n in arr
    TracePrint n 
//遍历arr数组并输出所有获取的包名字符
Next
备注:
命令名称: GetTempDir 获取临时目录
命令功能:
返回存储卡上按键精灵的临时文件目录,
可以在此目录中进行文件操作
语法格式: GetTempDir()
参数说明:
返回值: 字符串型,存储卡上按键精灵的临时文件目录
脚本例子:
 
Dim 返回值
返回值=GetTempDir()
TracePrint "当前设备的临时目录为:" & 返回值
备注:
可以把常用的文件操作放在这个临时目录中
命令名称: GetSdcardDir 获取Sdcard目录
命令功能: 获取当前手机的Sdcard目录
语法格式: GetSdcardDir()
参数说明:
返回值: 字符串型,返回当前手机的sdcard目录
脚本例子:
 
Dim 返回值
返回值=GetSdcardDir()
TracePrint "当前手机的SdCard目录为:" & 返回值
备注:
命令名称: KeepScreen 设置屏幕是否常亮
命令功能: 控制屏幕状态
语法格式: KeepScreen b_state
参数说明:
b_state:当指定的Bool类型表达式为True的时候,
保持屏幕常开状态;
否则,关闭屏幕常开功能(屏幕会自动关闭)
返回值:
脚本例子:

KeepScreen True   
//屏幕常亮,不人为干预的话则不会自动关闭屏幕
备注:
屏幕如果被关闭了,会影响按键精灵的图色操作,
所以有时候需要开启屏幕常亮功能
命令名称: PlaySound 播放音频
命令功能: 播放指定的音频文件
语法格式: PlaySound file_name
参数说明:
file_name:字符型,指明了音频文件的存储位置,
文件名如果以 "Attachment:" 开始,表明后面的部
分是附件中的文件。按键精灵会自动从附件中
找到该文件并播放,不需要将附件释放到存储卡上。
返回值:
脚本例子:
  
//从附件中播放我爱按键精灵.mp3
PlaySound "Attachment:我爱按键精灵.mp3"
备注:
命令名称: ResetScreenScale 取消屏幕缩放
命令功能: 取消屏幕比例缩放设置,一般与SetScreenScale配套使用
语法格式: ResetScreenScale
参数说明:
返回值:
脚本例子:
  
//假设作者在540*960分辨率下开发脚本,要在720*1280设备中运行
SetScreenScale 540,960,0
ResetScreenScale 
备注:
当你不需要屏幕缩放时,就用这个命令取消好了
命令名称: SetScreenScale 设置屏幕缩放
命令功能:
设置当前脚本开发环境的屏幕分辩率,
使脚本适配不同分辩率的设备
语法格式: SetScreenScale width,height,scale
参数说明:
width:整数型,脚本开发时使用的设备宽度
height:整数型,脚本开发时使用的设备高度
scale:可选参数,默认为1,0代表只对传入函数的坐标进行缩放,
从函数返回坐标的不缩放,即为当前使用设备真实坐标。
1代表传入函数的坐标进行缩放,函数返回的坐标进行反向缩放
返回值:
脚本例子:
  
//假设一名作者在540*960分辨率的手机中开发了脚本,
要在720*1280的设备中运行
SetScreenScale 540,960,0
备注:
受屏幕缩放命令影响的命令有: 
Tap 短暂点击、Touch 按住一段时间、TouchDown 按住不放、
TouchMove 模拟滑动、Swipe 模拟划动、
GetPixelColor 得到指定点颜色、FindColor 寻找颜色、
CmpColor 对比指定点颜色、CmpColorEx 对比多个点颜色、
FindMultiColor 多点找色。
命令名称: Shake 摇动命令
命令功能: 摇一摇手机
语法格式: Shake()
参数说明:
返回值:
脚本例子:
Call Shake()
备注:
并不是所有机型都支持该命令
命令名称: Vibrate 震动
命令功能: 在具有震动功能的设备上,维持震动一段时间
语法格式: Vibrate time
参数说明:
time:整数型,震动时间,单位毫秒
返回值:
脚本例子:
  
//持续震动1000毫秒(1秒)
Vibrate 1000 
备注:
注意持续时间的单位是毫秒,1秒 = 1000毫秒
其他命令:
命令名称: Dim 定义变量
命令功能: 定义一个或多个变量,数组
语法格式: Dim 变量[, 数组(), ...]
参数说明:
参数:变量名或者数组名,支持多个变量或者数组
返回值:
脚本例子:
  
Dim a, b(), c
a = 123
b(0) = "按键精灵"
c = True
TracePrint a, b(0), c
备注:
命令名称: Delay 延时
命令功能: 脚本暂停执行一段时间
语法格式:
Delay time
参数说明:
time:数值表达式,延时时间,单位毫秒
返回值:
脚本例子:
  
//延迟6000毫秒(6秒)
Delay 6000
备注:
注意时间单位是毫秒,1秒=1000毫秒
命令名称: InputText 输入内容
命令功能: 在当前窗口中输入文字
语法格式:
InputText str_in
参数说明:
str_in:字符串型,待输入的字符串
返回值:
脚本例子:
 
//在当前窗口输入"你好,我是按键精灵"
//注意:当使用此函数后直至脚本结束,
//其他输入法无法调用
InputText "你好,我是按键精灵"
备注:
使用前,记得要先激活当前窗口的输入框,
如果遇到无法输入情况,
可以考虑使用KeyPress模拟输入法进行输入
命令名称: // 注释
命令功能: 添加脚本注释
语法格式:
请看例子说明
参数说明:
返回值:
脚本例子:
  
双斜杠//或者单引号'表示单行注释,比如:

//我是注释内容

'我是注释内容

斜杠加星号表示多行注释,格式为/*……*/比如:

/*
我是第一行注释
我是第二行注释
我是第三行注释
*/
备注:
用最直白的话来讲,注释是写给人看的,不是写给计算机看的,
注释可以帮助程序员理解这段代码的含义等
计算机执行到注释语句时,会当成没看见,直接跳过。
或许你会觉得,我写的代码,难道我看不懂吗?
但是你要注意如果你翻出一年前的代码,你能准确的
知道每一句代码的作用,你当时写脚本的思路吗?
命令名称: TracePrint调试输出
命令功能: 在按键精灵手机助手的调试窗口打印文字
语法格式:
TracePrint str_1,str_2,...
参数说明:
TracePrint支持一个或多个参数,最多可以到1024个。
如果输入多个参数时,它会自动把所有参数串起来,
中间用逗号分隔,这些参数支持字符串、数字、null或bool型
返回值:
脚本例子:
//向按键精灵手机助手的调试信息窗口中输出“按键精灵,我爱你”
TracePrint"按键精灵,我爱你"
备注:
该命令相当重要,脚本调试排错什么的都是靠这个命令
来分析原因的,可支持同时输出多个参数
与 ShowMessage 显示信息 相比,他是输出显示到
按键精灵手机助手上的,给作者调试纠错使用
命令名称: ShowMessage 显示信息
命令功能: 在屏幕上显示提示信息,此信息维持一段时间后自动消失
语法格式:
ShowMessage  Msg
参数说明:
Msg:提示信息,如果提示信息不是字符串类型,
会自动转换为字符串类型进行显示
返回值:
脚本例子:
  
//在屏幕上显示"我爱按键精灵
ShowMessage "我爱按键精灵"
备注:
与 TracePrint 调试输出 相比,他是输出显示到
手机屏幕上,供用户了解脚本的即时情况
命令名称: KillApp 关闭应用
命令功能: 关闭指定应用程序
语法格式:
KillApp package_name
参数说明:
package_name:字符串型,包名
返回值:
脚本例子:
 
//关闭微信
KillApp "com.tencent.mm"
备注:
应用程序的包名可以通过“按键精灵手机助手”
右边的“脚本命令”中的“其他命令”查看
命令名称: RunApp 运行应用
命令功能: 指定某个应用程序的包名,启动这个应用程序
语法格式:
RunApp package_name,component_name
参数说明:
package_name:字符串型,某个应用程序的包名
component_name:可选参数,字符串型,
某个应用程序的组件名,可省略
返回值:
脚本例子:
 
//启动微信
RunApp "com.tencent.mm"
备注:
应用程序的包名可以通过按键精灵手机助手
右边的脚本命令中的其他命令查看
应用程序的组件名需要反编译安装包,
查看AndroidManifest.xml文件来获得
命令名称: Import 导入命令
命令功能:
导入一个命令库mql文件或者插件lua文件,
导入后可以直接使用这个命令库或者插件
语法格式:
Import file
参数说明:
file:字符串型,命令库mql文件或插件lua文件
返回值:
脚本例子:
  

//下面例子使用Import导入第三方lua字符串插件,
//注意同个脚本只需导入一次
Import "Str.lua"
Dim 当前时间
当前时间 = Str.Now()
TracePrint 当前时间
备注:
1. 在导入插件前,请先将相应插件文件放到按键精灵
安卓版安装目录的“Plugin”文件夹内 
2. 在脚本开头使用Import "XX.XX"命令导入相应插件前,
请将相应插件修改成插件文件名
3. 生成小精灵APK会自动打包插件,所以无需添加附件之类的操作。 
命令名称: PutAttachment 释放附件
命令功能: 把当前脚本包含的附件释放到指定的目录下
语法格式:
PutAttachment path[,file]
参数说明:
path:字符串型,路径,手机一定要存在此路径,否则释放失败。
file:字符串型,文件名,可省略
注意:如果路径为Null或空字符串,
会把附件释放到按键精灵的临时文件目录下。
临时文件目录可以通过调用 GetTempDir() 
获得要释放的文件(可选参数)为字符串类型,
可以指定只释放附件中的一个或几个文件,支持通配符 * 和 ? ,
当不指定要释放的文件,或指定为Null或空字符串时,
表示要释放本脚本附件中的所有文件。
返回值:
脚本例子:
  
//把所有扩展名为png的文件释放到按键精灵的临时文件目录下。 
PutAttachment "", "*.png"
备注:
脚本支持附件路径找图,格式为"Attachment:\图片名",
但是不支持直接读取TXT附件之类的,
所以部分附件内容还是需要释放出来再使用。
通配符 * 表示0个或多个任意字符。
通配符 ? 表示1个任意字符。
命令名称: SetControlBarPos 设置浮窗
命令功能: 设置控制台(浮窗)在屏幕右侧的高度及其锁定状态
语法格式:
SetControlBarPos location[, state]
参数说明:
location:“位置比例”,浮窗在右侧的高度比例,
取值范围为0-1.0,0表示最上面,1表示最下面
state:“锁定状态”,为可选参数,
当其为空或为0时表示不锁定,非0表示锁定
返回值:
脚本例子:
 
//移动浮窗到右上角并锁定禁止移动
SetControlBarPos 0,1
备注:
有的时候浮窗会挡住屏幕导致图色判断不准确,
故需要此功能来调整浮窗位置
命令名称: SetAppSpeed 加速或减速APP
命令功能:
加速或减速APP运行速率,速率-10~10,
0为常速,支持1,2,3,4,5,10倍加速。
语法格式: SetAppSpeed(包名,速率)
参数说明:
速率:整数型,支持1,2,3,4,5,10倍加速,
0为正常速度,-1,-2,-3,-4,-5,-10倍减速;
目前支持最大速率为10倍,即填写100也只有10倍,
大于5以上默认为10倍速率。减速也是一样。
返回值:
脚本例子:
Dim 加速倍率 = 10
setAppSpeed "com.tencent.tmgp.cokqq",加速倍率
ShowMessage "为游戏:列王的纷争 加速10倍"
备注:
此命令可单独使用或与UI配合,实现游戏自定义加速或减速效果
支持大部分游戏,部分带保护游戏此命令可能无效
网络命令:
命令名称: GetNetworkTime 获取网络时间
命令功能: 获取当前的网络时间
语法格式: GetNetworkTime()
参数说明:
返回值: 返回当前的网络时间,比如:2015-09-01 10:54:49
脚本例子:
  
Dim 网络时间
网络时间=GetNetworkTime()
Traceprint 网络时间
备注:
界面配置:
命令名称: ReadUIConfig 读取界面配置
命令功能: 读取脚本的界面配置值
语法格式:
ReadUIConfig(name[, def_val])
参数说明:
name:界面元素名称
def_val:界面上元素的默认值,可省略
返回值: 返回脚本的界面配置值,如果没有取到,则返回默认值
脚本例子:
//读取界面元素名称为"账号"的默认值,
//如果该元素未设置默认值则读出100
ReadUIConfig("账号","100")
备注:
输入框返回值为字符串型,若需要使用数值型,请强制转换
多选框返回值为布尔型,可以直接用于If判断
下拉框返回值为整数型,表示选中的选项序号
命令名称: ReadConfig 读取配置
命令功能: 读取脚本的配置值
语法格式:
ReadConfig(name[, def_val])
参数说明:
name:配置项名称
def_val:默认值,可省略
返回值:
返回WriteConfig写入的脚本配置值,如果没有取到,则返回默认值
脚本例子:
  
//向移动配置项写入一个数据8
WriteConfig ("移动", 8,true)
//结束脚本后运行
traceprint ReadConfig("移动", 6) 
//输出为8,而不是默认的6
备注:
这个命令是配合 WriteConfig 写入配置 使用的,
读取的值是由WriteConfig写入,并非从界面元素中读取
命令名称: WriteConfig 写入配置
命令功能: 写入的配置值
语法格式:
WriteConfig(name,val,state)
参数说明:
name:配置项名称
val:写入的值,可以是字符串、数值、布尔等
state:布尔值,是否立即写入,如果需要立即写入文件,
设为true,默认为False,不会立即写入到文件中
返回值:
脚本例子:
////向移动配置项立即写入一个数据8
WriteConfig ("移动", 8,true)
备注:
这个命令是配合 ReadConfig 读取配置 使用的,
写入的配置是在文件中,并非在界面元素中
扩展命令:

扩展设备命令:
命令名称: Device.Getip 获取设备IP
命令功能: 获取设备的IP
语法格式: Device.Getip()
参数说明:
返回值: 返回设备的IP值,格式如:10.0.3.15
脚本例子:
Dim 设备IP
设备IP = Device.GetIp()
TracePrint 设备IP
备注:
自己手机的IP通常可以在设置里的关于手机选项里查看到
命令名称: Device.GetModel 获取设备型号
命令功能: 获取设备的型号(手机机型), 比如:HTC One
语法格式: Device.GetModel()
参数说明:
返回值: 返回设备的型号,比如:HTC One
脚本例子:
Dim 设备型号
设备型号 = Device.GetModel()
TracePrint 设备型号
备注:
自己手机的型号通常可以在设置里的关于手机选项里查看到
命令名称: Device.GetImsi 获取设备IMSI号
命令功能: 获取设备的imsi号(区别移动用户的标志)
语法格式: Device.GetImsi()
参数说明:
返回值: 返回设备的imsi号,比如:310260000000000
脚本例子:
Dim 设备imsi号
设备imsi号 = Device.GetImsi()
TracePrint 设备imsi号
备注:
IMSI即国际移动用户识别码,是15位的十进制数,
它是区别移动用户的标志储存在SIM卡中,
可用于区别移动用户的有效信息
命令名称: Device.GetIccid 获取设备SIM卡ID
命令功能: 获取设备的SIM卡的ID号
语法格式: Device.GetIccid()
参数说明:
返回值: 设备SIM卡的ID号,比如:89014103211118510720
脚本例子:
Dim SIM卡ID
SIM卡ID = Device.GetIccid()
TracePrint SIM卡ID
备注:
SIM卡为20位十进制数字,它好比就是人的身份证号码
不过SIM卡的名字是他所表示的手机号码,
ID是识别SIM 卡唯一性的一个编号
Phone 电话命令:
命令名称: Phone.Dial 输入电话号码
命令功能: 调用手机的系统拨号盘,拨打指定的电话号码,但暂不拨出
语法格式: Phone.Dial 电话号码
参数说明:
号码:整数型或字符串,欲拨打的电话号码,可以是文本或者数字
返回值:
脚本例子:
Phone.Dial 10086
Phone.Dial "10001"
备注:
命令名称: Phone.DialOut 拨打电话号码
命令功能: 调用手机系统的拨号程序,直接拨出指定的电话号码
语法格式: Phone.DialOut 电话号码
参数说明:
号码:整数型或字符串,欲拨打的电话号码,
可以是文本或者数字
返回值:
脚本例子:
Phone.DialOut 10086
Phone.DialOut "10001"
备注:
命令名称: Phone.Message 发短信
命令功能: 调用手机系统的发短信程序,直接发送短信
语法格式: Phone.Message 电话号码, 内容
参数说明:
号码:整数型或字符串,欲拨打的电话号码,
可以是文本或者数字
内容:字符串,发送的短信内容,
长度由手机自身的限制决定(如160个字符)
返回值:
脚本例子:
Phone.Message 10086, "11"
备注:
Sys 系统命令:
命令名称: Sys.GetClipText 读取剪贴板
命令功能: 读取系统剪贴板
语法格式: 结果 = Sys.GetClipText()
参数说明:
返回值:
字符串,读取到的剪贴板内容,如果系统剪贴板为空,
则返回空字符串
脚本例子:
  
Dim 剪贴板内容
剪贴板内容 = Sys.GetClipText()
TracePrint 剪贴板内容
备注:
命令名称: Sys.SetClipText 设置剪贴板
命令功能: 设置系统剪贴板里的内容为指定内容
语法格式: Sys.SetClipText 内容
参数说明:
内容:字符串,放入剪贴板中的内容
返回值:
字符串,读取到的剪贴板内容,如果系统剪贴板为空,
则返回空字符串
脚本例子:
  
Dim 剪贴板内容
Sys.SetClipText "按键精灵"
剪贴板内容 = Sys.GetClipText()
TracePrint 剪贴板内容
备注:
命令名称: Sys.ClearAppCache 清除指定App缓存
命令功能: 清除指定app缓存
语法格式: ClearAppCache(包名)
参数说明:
包名:字符串型,应用程序的包名
返回值:
脚本例子:
Sys.ClearAppCache "com.tencent.mm"
//清除微信应用的缓存
备注:
大部分应用的包名可在助手runapp命令快捷面板里查看
命令名称: Sys.ClearMemory 清除后台程序
命令功能: Sys.ClearMemory 清除后台程序,相当于大部分手机的一键加速功能
语法格式: Sys.ClearMemory()
参数说明:
返回值:
脚本例子:
Sys.ClearMemory() //清除后台程序
备注:
大部分后台应用都会被清掉,但是按键精灵及部分白名单应用不会被清理
Dir 目录命令:
命令名称: dir.Copy 复制文件或文件夹
命令功能: 将一个文件或文件夹拷贝到另一个文件路径中保存
语法格式: dir.Copy(dir1,dir2)
参数说明:
dir1:字符串型,为原文件或文件夹路径
dir2:字符串型,为新文件或文件夹路径
返回值: 布尔值,复制文件成功返回true,否则返回false
脚本例子:
  
Dim 返回值,文件路径1,内容
文件路径1="/sdcard/MobileAnjian/anjian.txt"
内容="我爱你" 
Dim 文件路径2="/sdcard/MobileAnjian/UFO.txt"
Call File.Write(文件路径1,内容)  
//先将内容写入到文本中 
dir.Copy(文件路径1,文件路径2)  
//将路径1文件的拷贝到路径2文件 
返回值=File.Read(文件路径2) 
//读取文件路径2中的文本内容
TracePrint 返回值  //输出"我爱你"
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: dir.Create 创建文件夹
命令功能: 创建一个文件夹
语法格式: dir.Create(dir)
参数说明:
dir:字符串型,为文件夹路径
返回值: 布尔值,创建文件成功返回true,否则返回false
脚本例子:
  
Dim 文件路径,内容,返回值
文件路径="/sdcard/MobileAnjian/anjian.txt"
内容="我爱你"
返回值=Dir.Create(文件路径) 
//创建一个文件夹
TracePrint 返回值 
//返回值为true,说明创建文件夹成功
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: dir.Delete 删除文件
命令功能: 将一个指定文件或文件夹删除
语法格式: dir.Delete (dir)
参数说明:
dir:字符串型,为文件或文件夹路径
返回值: 布尔值,删除文件成功返回true,否则返回false
脚本例子:
  
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt"
Dim 内容="我爱你" 
Call File.Write(文件路径,内容)  
//先将内容先入文本中
TracePrint File.Read(文件路径) 
//读取并输出文本内容"我爱你"
Dir.Delete (文件路径) 
//删除该文本文件
TracePrint File.Read(文件路径) 
//再次尝试读取并输出文本内容,结果为null,
//代表该文件已被删除
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: dir.Exist 判断文件是否存在
命令功能: 判断一个文件或文件夹是否存在
语法格式: dir.Exist (dir)
参数说明:
dir:字符串型,为文件或文件夹路径
返回值:
判断文件存在则返回1
判断文件夹存在返回2
判断文件或文件夹都不存在返回0
脚本例子:
  
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt" 
Call Dir.Create(文件路径) 
//先创建一个文件夹
TracePrint Dir.Exist(文件路径) 
//返回1表示该文件夹存在
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: dir.Move 移动文件
命令功能: 将一个文件或文件夹移动到另一个文件路径中保存
语法格式: dir.Move(dir1,dir2)
参数说明:
dir1:字符串型,为原文件或原文件夹路径
dir2:字符串型,为新文件或新文件夹路径
返回值: 布尔值,移动文件成功返回true,否则返回false
脚本例子:
  
Dim 返回值,文件路径1,内容
文件路径1="/sdcard/MobileAnjian/anjian.txt"
内容="我爱你" 
Dim 文件路径2="/sdcard/MobileAnjian/UFO.txt"
Call File.Write(文件路径1,内容) 
//先将内容写入到文本中 
dir.move(文件路径1,文件路径2) 
//将文件路径1中的文本移动到文件路径2中保存
返回值=File.Read(文件路径2) 
//读取文件路径2中的文本内容
TracePrint 返回值 //返回"我爱你"
TracePrint File.Read(文件路径1) 
//返回 null 表示文件路径1中的文件已经被移走
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: dir.Rename 重命名文件
命令功能: 将一个文件或文件夹重命名并可使其移动到另一个文件路径中保存
语法格式: dir.Rename(dir1,dir2)
参数说明:
dir1:字符串型,为原文件或原文件夹路径
dir2:字符串型,为新文件或新文件夹路径
返回值: 布尔值,重命名文件成功返回true,否则返回false
脚本例子:
  
Dim 返回值,文件路径1,内容
文件路径1="/sdcard/MobileAnjian/anjian.txt"
内容="我爱你" 
Dim 文件路径2="/sdcard/MobileAnjian/UFO.txt"
Call File.Write(文件路径1,内容)  
//先将内容写入路径1的文本中
Dir.Rename(文件路径1,文件路径2) 
//将路径1文件重命名并移动到文件路径2中
返回值=File.Read(文件路径2) 
//读取已被重命名的文件路径2中的文本内容
TracePrint 返回值 //返回"我爱你"
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
Log 日志命令:
命令名称: Log.Close 关闭日志记录
命令功能: 关闭日志记录功能
语法格式: Log.Close
参数说明:
virtual_key:可以是字符串类型,表示某个键的名字;
也可以是数值类型,表示某个键的编码
返回值:
脚本例子:
TracePrint "日志被开启,这句话会被记录到日志文件中"
Log.Close
TracePrint "日志被关闭,这句话不会被记录到日志文件中"
备注:
使用Log.Open后,所有TracePrint命令的输出内容
都会同时写入日志文件,直到脚本执行结束,
或者是使用Log.Close关闭日志文件
日志文件的存储路径是存储卡上按键精灵的临时文件目录
(可用GetTempDir()获得)下的log子目录
日志文件名是脚本启动时的系统时间(精确到秒)
命令名称: Log.Open 开启日志记录
命令功能: 打开日志文件,并开始记录日志
语法格式: Log.Open
参数说明:
返回值: 如果日志文件打开成功,则返回True,否则返回False
脚本例子:
  
Log.Open
TracePrint "日志被开启,这句话会被记录到日志文件中"
Log.Close
TracePrint "日志被关闭,这句话不会被记录到日志文件中"
备注:
使用Log.Open后,所有TracePrint命令的输出内容
都会同时写入日志文件,直到脚本执行结束,
或者是使用Log.Close关闭日志文件
日志文件的存储路径是存储卡上按键精灵的临时文件目录
(可用GetTempDir()获得)下的log子目录
日志文件名是脚本启动时的系统时间(精确到秒)
UTF8 字符串命令:
命令名称: UTF8.InStr 查找字符
命令功能: 返回某字符串在另一字符串中第一次出现的位置
语法格式: 结果 = UTF8.InStr(起始位置, 原字符串, 搜索字符串[, 对比方式])
参数说明:
起始位置:整数型,开始搜索的字符位置
原字符串:字符串,被搜索的字符串任意有效字符串表达式
搜索字符串:字符串,要搜索的字符串任意有效字符串表达式
对比方式:布尔值,可选。是否忽略大小写,
默认False,即不忽略大小写
返回值: 数值型,返回搜索字符串在原字符串中第一次出现的位置
脚本例子:
  
Dim 结果
结果 = UTF8.InStr(1, "您好,按键精灵欢迎您", "按键")
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数
中汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.InStrRev 反向查找字符
命令功能: 反方向查找字符第一次出现的位置,返回正方向开始数的位置
语法格式: 结果 = UTF8.InStrRev(原字符串, 搜索字符串, 起始位置[, 对比方式])
参数说明:
原字符串:字符串,被搜索的字符串任意有效字符串表达式
搜索字符串:字符串,要搜索的字符串任意有效字符串表达式
起始位置:整数型,正方向数起开始搜索的字符位置,
-1表示从最后一个字符开始搜索
对比方式:布尔值,可选。是否忽略大小写,
默认False,即不忽略大小写
返回值: 数值型,返回反方向搜索字符串在原字符串中第一次出现的正方向位置
脚本例子:
Dim 结果
结果 = UTF8.InStrRev("您好,按键精灵欢迎您", "按键", -1)
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数
中汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.Left 取左边字符
命令功能: 返回某字符串从左边数起的指定数量字符
语法格式: 结果 = UTF8.Left(原字符串, 数量)
参数说明:
原字符串:字符串,任意有效字符串表达式
数量:整数型,截取的字符数量
返回值: 字符串,返回原字符串从左边数起指定数量的字符
脚本例子:
  
Dim 结果
结果 = UTF8.Left("您好,按键精灵欢迎您", 6)
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.Len 获取字符串数目
命令功能: 返回某字符串的字符数量
语法格式: 结果 = UTF8.Len(字符串)
参数说明:
字符串:字符串,任意有效字符串表达式
数量:整数型,截取的字符数量
返回值: 整数型,返回字符串的数量(长度)
脚本例子:
Dim 结果
结果 = UTF8.Len("您好,按键精灵欢迎您")
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.Mid 截取字符串
命令功能: 从字符串的指定位置开始截取一定数量的字符
语法格式: 结果 = UTF8.Mid(字符串)
参数说明:
字符串:字符串,任意有效字符串表达式
开始位置:整数型,正方向数起的截取开始位置
截取数量:整数型,截取的字符数量
返回值: 字符串,返回截取出来的字符串
脚本例子:
Dim 结果
结果 = UTF8.Mid("您好,按键精灵欢迎您",6,2)
TracePrint 结果//输出"精灵"
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置。如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.Right 取右边字符
命令功能: 返回某字符串从右边数起的指定数量字符
语法格式: 结果 = UTF8.Right(原字符串, 数量)
参数说明:
原字符串:字符串,任意有效字符串表达式
数量:整数型,截取的字符数量
返回值: 字符串,返回原字符串从右边数起指定数量的字符
脚本例子:
Dim 结果
结果 = UTF8.Right("00" & 1, 3)
//数字前面补0的技巧
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.StrCut 移除指定数目字符
命令功能:
用于在字符串中移除指定位置与长度的字符,
并返回移除后的字符组合,起始位置从1开始递增
语法格式: str= UTF8.StrCut(string,position,size)
参数说明:
string:字符串型,任意有效的字符串表达式
position:整数型,任意可以计算其值的数值表达式
size:整数型,任意可以计算其值的数值表达式
返回值: str:字符串型,返回移除了指定字符后的字符串
脚本例子:
Dim 结果
结果 = UTF8.StrCut("您好按键精灵欢迎您", 3,7)
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.StrGetAt 获取指定位置字符
命令功能:
用于在字符串中获取指定位置的字符,
返回字符串中指定位置的字符,字符位置从1开始递增
语法格式: str= UTF8.StrGetAt(string,position)
参数说明:
string:字符串型,任意有效的字符串表达式
position:整数型,任意可以计算其值的数值表达式
返回值: str:字符串型,返回字符串中指定位置的字符
脚本例子:
Dim a="我爱你",b
b = UTF8.StrGetAt(a, 2)
TracePrint b //返回"爱"
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
命令名称: UTF8.StrReverse 返回方向相反的字符串
命令功能: 返回方向相反的字符串
语法格式: 结果 = UTF8.StrReverse(字符串)
参数说明:
字符串:字符串,任意有效字符串表达式
返回值: 字符串,与原方向相反的字符串
脚本例子:
  
Dim 结果
结果 = UTF8.StrReverse("我爱按键精灵")
TracePrint 结果
备注:
该命令的汉字占用1个字符位置,而字符串函数中
汉字占用3个字符位置,如果参数中只包含英文、
数字与半角符号的时候,建议使用原命令
Encode 加解密命令:
命令名称: Encode.Md5 字符串Md5加密
命令功能: 用于计算并返回字符串的Md5值,即进行Md5加密
语法格式: str=Encode.Md5(string)
参数说明:
string:字符串型,任意有效的字符串表达式
返回值: str:字符串型,返回字符串的Md5值"
脚本例子:
  
Dim a="我爱你", b
b = Encode.Md5(a)
TracePrint b  
//返回"我爱你"的MD5值"4f2016c6b934d55bd7120e5d0e62cce3"
备注:
网络操作:
命令名称: Url.Get 以Get方式访问地址
命令功能: 以Get方式访问网页地址并获取其网页源文件
语法格式: 网页源文件=Url.Get(网页地址)
参数说明:
网页地址:字符串型,要访问并获取网页源文件信息的网页地址
返回值: 网页源文件:字符串型,返回参数网址的网页源文件
脚本例子:
TracePrint url.get("http://bbs.anjian.com/")
获取按键精灵论坛网页源文件
备注:
可用此功能获取网页源文件的信息
命令名称: url.post 以Post方式访问地址
命令功能: 以Post方式访问网页地址并获取其源文件
语法格式: url.post(网页地址,post数据)
参数说明:
请求地址:字符串型,要以POST访问的请求地址
post数据:访问网页地址时携带的参数
返回值: 字符串型,返回参数网址的网页源文件
脚本例子:
//下面例子是以post方式自动登录按键精灵论坛
Dim 网页源文件,账号,密码,请求地址,post数据
//先把需要登录的账号和密码进行赋值到变量
账号 = ""//此处设置自己的账号
密码 = ""//此处设置自己的账号
//发送账号登录请求的地址,以及POST请求的内容
请求地址 = "http://bbs.anjian.com/login.aspx?infloat=1&&inajax=1"
post数据 = "username=" & 账号 & "&password=" & _
密码 &"&question=0&answer=&templateid=0&expires=43200"
网页源文件= url.post(请求地址, post数据)
TracePrint 网页源文件
If InStr(1,网页源文件, "登录成功") > 0 Then 
    TracePrint "登陆成功"
Else 
    TracePrint "登陆失败"
End If
//TracePrint url.get("http://bbs.anjian.com/")
备注:
请求地址不是直接的网页地址,而是post时的请求地址,
建议可用火狐浏览器获取
标准库函数:

数学函数:
命令名称: Abs 绝对值
命令功能: 求数字的绝对值
语法格式: Abs(number)
参数说明:
number:可以是任意有效的数值表达式
返回值: 浮点型:返回数字的绝对值
脚本例子:
  
Dim MyNumber
MyNumber = Abs(-50.3) 
Traceprint MyNumber
备注:
绝对值是指一个数,去掉它的正负号,
比如-5的绝对值是5,5的绝对值是5,0的绝对值是0
命令名称: Atn 反正切
命令功能: 求数值的反正切值
语法格式: Atn(number)
参数说明:
number:可以是任意有效的数值表达式
返回值: 浮点型:返回数值的反正切值
脚本例子:
  
Dim pi
pi = 4 * Atn(1)
TracePrint "圆周率pi的值" & pi
备注:
Atn 函数计算直角三角形两个边的比值 (number) 
并返回对应角的弧度值。
此比值是该角对边的长度与邻边长度之比。
结果的范围是从 -pi/2 到 pi/2 弧度
弧度变换为角度的方法是将弧度乘以 pi/180。
反之,角度变换为弧度的方法是将角度乘以180/pi 
注意:Atn 是 Tan(将角作为参数返回
直角三角形两边的比值)的反三角函数。
不要混淆 Atn 与余切(正切的倒数 (1/tangent))函数
命令名称: Cos 余弦
命令功能: 求某个角的余弦值
语法格式: Cos(number)
参数说明:
number:可以是任何将某个角表示为弧度的有效数值表达式
返回值: 浮点型:返回某个角的余弦值
脚本例子:
  
Dim MyAngle, MyCos
MyAngle = 1.3
MyCos =Cos(MyAngle)
备注:
Cos 函数取某个角并返回直角三角形两边的比值。
此比值是直角三角形中该角的邻边长度与斜边长度之比。
结果范围在 -1 到 1 之间。
角度转化成弧度方法是用角度乘以 pi/180。反之,
弧度转化成角度的方法是用弧度乘以 180/pi
命令名称: Exp 自然对数的幂次方
命令功能: 求e(自然对数的底)的幂次方
语法格式: Exp(number)
参数说明:
number:可以是任意有效的数值表达式
返回值: 浮点型:返回e(自然对数的底)的幂次方
脚本例子:
  
//常数e的值约为2.718282
Dim MyAngle, MyValue
MyAngle = 1.3 
MyValue = Exp(MyAngle)
备注:
如果 数值 参数超过 709.782712893,则出现错误。
常数 e 的值约为 2.718282
Exp 函数完成 Ln 函数的反运算,并且有时引用为反对数形式
命令名称: Fix 取整
命令功能: 返回数字的整数部分
语法格式: Fix(number)
参数说明:
number:可以是任意有效的数值表达式
返回值: 整数型:数字的整数部分
脚本例子:
  
//如果number为负数,Fix函数返回大于或
//等于number的第一个负整数,Fix函数将-8.4转换为-8
Dim MyNumber
MyNumber = Fix(-8.4)

备注:
Int 和 Fix 函数都删除 数值 参数的小数部分并
返回以整数表示的结果
Int 和 Fix 函数的区别在于如果 数值 参数为负数时,
Int 函数返回小于或等于 数值 的第一个负整数,
而 Fix 函数返回大于或等于数值参数的第一个负整数
命令名称: Int 取整
命令功能: 返回数字的整数部分
语法格式: Int(number)
参数说明:
number :可以是任意有效的数值表达式
返回值: 整数型:数字的整数部分
脚本例子:
  
//如果number为负数,Int函数返回小于或
//等于number的第一个负整数例如,Int将-8.4转换为-9
Dim MyNumber
MyNumber = Int(-8.4) 
备注:
Int 和 Fix 函数都删除 数值 参数的小数部分并
返回以整数表示的结果
Int 和 Fix 函数的区别在于如果 数值 参数为负数时,
Int 函数返回小于或等于 数值 的第一个负整数,
而 Fix 函数返回大于或等于 数值 参数的第一个负整数
命令名称: Ln 自然对数为底的对数
命令功能: 返回数值的自然对数
语法格式: Ln(number)
参数说明:
number:是任意大于0的有效数值表达式
返回值: 浮点型:数值的自然对数
脚本例子:
  
Dim MyNumber
MyNumber = Ln(99.8)
TracePrint MyNumber
备注:
自然对数是以 e 为底的对数。常数 e 的值约为 2.718282。
用 n 的自然对数除 x 的自然对数,
可以得到以 n 为底的 x 的对数。如下所示: 
Logn(x) = Ln(x) / Ln(n)
命令名称: Oct 转换成八进制
命令功能: 返回表示数字八进制值的字符串
语法格式: Oct(number)
参数说明:
number :是任意有效的表达式,如果不是整数,
则在进行运算前,将其四舍五入到最接近的整数
返回值:
脚本例子:
  
//下面的示例利用 Oct 函数返回数值的八进制数:
Dim MyOct
MyOct = Oct(4)     ' 返回 4。
MyOct = Oct(8)     ' 返回 10。
MyOct = Oct(459)   ' 返回 713。
备注:
命令名称: Randomize 初始化随机数
命令功能: 初始化随机数生成器
语法格式: Randomize [number]
参数说明:
number:有效的数值表达式,可省略
返回值:
脚本例子:
  
//要产生指定范围的随机整数,请使用以下公式: 
//Int((最大值 - 最小值 + 1) * Rnd() + 最小值)
//例如产生2到6之间的随机数: 
Dim MyValue
Randomize  
MyValue = Int(((6-2+1) * Rnd()) + 2)
Traceprint MyValue
备注:
Randomize只能在随机数生成前调用一次,以后都
不需要再次调用生成随机数请使用示例注释中的公式
命令名称: Rnd 随机数
命令功能: 返回一个随机数
语法格式: Rnd([number])
参数说明:
number:可以是任意有效的数值表达式,可省略
返回值: Rnd函数返回一个小于1但大于或等于0的值
脚本例子:
  
//要产生指定范围的随机整数,请使用以下公式: 
//Int((最大值 - 最小值 + 1) * Rnd() + 最小值)
//例如产生2到6之间的随机数: 
Dim MyValue
Randomize  
MyValue = Int(((6-2+1) * Rnd()) + 1)
Traceprint MyValue
备注:
Randomize只能在随机数生成前调用一次,以后都
不需要再次调用生成随机数请使用示例注释中的公式
命令名称: Round 四舍五入
命令功能: 返回四舍五入后的数值
语法格式: Round(expression,[, digit])
参数说明:
expression:有效的数值表达式
digit:四舍五入时保留的小数位数,可省略, 
默认为0,即不保留小数位
返回值: 整数型:四舍五入后的数值
脚本例子:
  
Dim MyVar, pi
pi = 3.14159
MyVar = Round(pi)     'MyVar=3
备注:
2.0版本开始支持自定义小数位
命令名称: Sgn 数字符号
命令功能: 返回表示数字符号的整数
语法格式: Sgn(number)
参数说明:
number可以是任意有效的数值表达式
返回值:
如果number大于零,返回1
如果number等于零,返回0
如果number小于零,返回-1
脚本例子:
//下面的示例利用 Sgn 函数决定数值的符号:
Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1)    ' 返回 1。
MySign = Sgn(MyVar2)    ' 返回 -1。
MySign = Sgn(MyVar3)    ' 返回 0。
备注:
可以通过返回的数字来判断是正数,还是负数,还是0
命令名称: Sin 正弦
命令功能: 计算某个角的正弦值
语法格式: Sin(number)
参数说明:
number:可以是任何将某个角表示为弧度的有效数值表达式
返回值: 浮点型:返回某个角的正弦值
脚本例子:
  
Dim MyAngle, MySin
MyAngle = 1.3 
MySin = Sin(MyAngle)  
备注:
Sin 函数取某个角并返回直角三角形两边的比值。
此比值是直角三角形中该角的对边长度与斜边长度之比。
结果的范围在 -1 到 1 之间
角度转化成弧度方法是用角度乘以 pi/180。
反之,弧度转化成角度的方法是用弧度乘以 180/pi
命令名称: Sqr 平方根
命令功能: 求一个数值的平方根
语法格式: Sqr(number)
参数说明:
number :可以是任意大于或等于零的有效数值表达式
返回值:
脚本例子:
  
Dim My1
My1 = Sqr(4)  'My1=2
备注:
命令名称: Tan 正切
命令功能: 计算某个角的正切值
语法格式: Tan(number)
参数说明:
number:可以是任何将某个角表示为弧度的有效数值表达式
返回值: 浮点型:返回某个角的正切值
脚本例子:
  
Dim MyAngle, MyTan
MyAngle = 1.3
MyTan = Tan(MyAngle)
备注:
Tan 取某个角并返回直角三角形两个直角边的比值。
此比值是直角三角形中该角的对边长度与邻边长度之比
角度转化成弧度方法是用角度乘以 pi/180。
反之,弧度转化成角度的方法是用弧度乘以 180/pi
字符串函数:
命令名称: Asc 获得ANSI码
命令功能: 返回与字符串的第一个字母对应的 ANSI 字符代码
语法格式: Asc(string)
参数说明:
string:是任意有效的字符串表达式
返回值: 整数型:与字符串的第一个字母对应的ANSI字符代码
脚本例子:
  
Dim MyNumber
MyNumber = Asc("A")      '返回 65
MyNumber = Asc("a")      '返回 97
MyNumber = Asc("Apple")  '返回 65
备注:
如果是字符串,则返回第一个字母对应的ANSI代码
命令名称: Chr 获得字符
命令功能: 返回与指定ANSI对应的字符
语法格式: Chr(charcode)
参数说明:
charcode:数值型,可以标识字符的数字
返回值: 字符串型,返回指定ANSI对应的字符
脚本例子:
  
Dim MyChar
MyChar = Chr(65)    'MyChar = A
MyChar = Chr(97)    'MyChar = a
MyChar = Chr(62)    'MyChar = >
MyChar = Chr(37)    'MyChar = %
备注:
命令名称: Hex 转十六进制
命令功能: 转化为十六进制数字值的字符串
语法格式: Hex(number)
参数说明:
number:浮点型,任意有效的数值表达式
如果number参数不是整数,
则在进行运算前将其四舍五入为最接近的整数
返回值: 字符串型:十六进制数字值的字符串
脚本例子:
  
Dim MyHex
MyHex = Hex(5)    ' 返回 5
MyHex = Hex(10)   ' 返回A
MyHex = Hex(459)  '返回 1CB
备注:
您可以通过在数字前面添加前缀 &H 来表示十六进制数。
例如,在十六进制计数法中,&H10 表示十进制数 16
命令名称: Instr 查找字符
命令功能: 求某字符串在另一字符串中第一次出现的位置
语法格式: InStr(start,string1,string2[,comparision])
参数说明:
start:数值表达式,用于设置每次搜索的开始位置
string1:要搜索的字符串表达式
string2:被搜索的字符串表达式
comparision:对比方式,是否忽略大小写,
可省略,默认False,即不忽略大小写
返回值: 整数型:字符串在另一字符串中第一次出现的位置
脚本例子:
  
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"
SearchChar = "P"
MyPos = Instr(4, SearchString, SearchChar)   
'MyPos =9
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.InStr命令
命令名称: InStrRev 反方向查找字符
命令功能: 求某字符串在另一个字符串中出现的从结尾计起的位置
语法格式: InStrRev(string1,string2,start[,comparision])
参数说明:
string1:接受搜索的字符串表达式
string2:被搜索的字符串表达式
start:数值表达式,用于设置每次搜索的开始位置。
如果为-1,表示从最后一个字符的位置开始搜索
comparision:对比方式,是否忽略大小写,
可省略,默认False,即不忽略大小写
返回值: 整数型: 返回字符串2在字符串1中出现的从结尾计起的位置
脚本例子:
  
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"
SearchChar = "P"
MyPos = InstrRev(SearchString, SearchChar, 10)  
'MyPos = 9
备注:
查找的方向为反向搜索,位置参数定义为正方向位置,
返回结果为正方向位置
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.InStrRev命令
命令名称: Join 合成字符串
命令功能: 将数组以指定的分隔符合并成字符串
语法格式: Join(list,delimiter)
参数说明:
list:待合成字符串的一维数组
delimiter:分隔符,字符串型,
以分隔符将数组中每个元素合并起来
返回值: 返回一个字符串
脚本例子:
  
Dim MyString
Dim MyArray(4)
MyArray(0) = "Mr."
MyArray(1) = "John "
MyArray(2) = "Doe "
MyArray(3) = "III"
MyString = Join(MyArray,"")  
'MyString 包含 "Mr.John Doe III"
MyString = Join(MyArray,",")  
'MyString 包含 "Mr.,John ,Doe ,III"
备注:
命令名称: LCase 转小写
命令功能: 求字符串的小写形式
语法格式: LCase(string)
参数说明:
string:字符串型,有效的字符串表达式
返回值: 字符串型:返回字符串的小写形式
脚本例子:
  
Dim MyString
Dim LCaseString
MyString = "VBSCript"
LCaseString = LCase(MyString) 
' LCaseString 包含 "vbscript"
备注:
命令名称: Left 取左边字符
命令功能: 求指定数目的从字符串的左边算起的字符
语法格式: Left(string, length)
参数说明:
string:字符串表达式,其最左边的字符被返回
length:数值表达式,指明要返回的字符数目
返回值: 指定数目的从字符串的左边算起的字符
脚本例子:
 
//下面的示例利用Left 函数返回MyString的左边三个字母:
Dim MyString, LeftString
MyString = "VBSCript"
LeftString = Left(MyString, 3) 
'LeftString 包含 "VBS" 
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.Left命令
命令名称: Len 获得字符串数目
命令功能: 求字符串内字符的数目
语法格式: Len(string )
参数说明:
string:任意有效的字符串表达式
varname:任意有效的变量名
返回值: 整数型,字符串内字符的数目
脚本例子:
  
Dim MyString
MyString = Len("VBSCRIPT") 'MyString =8
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.Len命令
命令名称: LTrim 去掉字符串左边空格
命令功能: 去掉前导空格
语法格式: LTrim(string)
参数说明:
string参数是任意有效的字符串表达式
返回值: 无前导空格的字符串
脚本例子:
 
//下面的示例利用 LTrim, RTrim, and Trim 函数
分别去除前导空格,末尾空格,前导空格和末尾空格都去除:
Dim MyVar
MyVar = LTrim("  vbscript ")  
'MyVar 包含 "vbscript "
MyVar = RTrim("  vbscript ")  
'MyVar 包含 "  vbscript"
MyVar = Trim("  vbscript ")   
'MyVar 包含"vbscript"
备注:
经测试,去掉的空格字符串
包括Chr(9)、Chr(10)、Chr(13)、Chr(32)等
命令名称: Mid 取指定字符串
命令功能: 从字符串中返回指定数目的字符
语法格式: Mid(string, start, length)
参数说明:
string:字符串表达式,从中返回字符
start:string中被提取的字符部分的开始位置
length:要返回的字符数目
返回值: 返回指定数目的字符串
脚本例子:
  
Dim MyVar
MyVar = Mid("VB Script is fun!", 4, 6) 
'MyVar 包含 "Script"
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.Len命令
命令名称: Replace 替换字符
命令功能: 用指定的字符串替换某子字符串
语法格式: Replace(expression,find,replacewith[, comparision])
参数说明:
expression:字符串表达式,包含要替代的子字符串
find:被搜索的子字符串
replacewith:用于替换的子字符串
comparision:对比方式,可省略,是否忽略大小写,
默认False,即不忽略大小写
返回值: 字符串:返回经过替换后的字符串
脚本例子:
  
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y") 
'返回 "XXYXXPXXY"
备注:
命令名称: Right 取右边字符
命令功能: 从字符串右边返回指定数目的字符
语法格式: Right(string, length)
参数说明:
string:字符串表达式,其最右边的字符被返回
length:数值表达式,指明要返回的字符数目
返回值: 返回右边指定数目的字符
脚本例子:
  
Dim AnyString, MyStr
AnyString = "Hello World" 
'定义字符串
MyStr = Right(AnyString, 1)
'返回 "d"
MyStr = Right(AnyString, 6)
' 返回 " World"
MyStr = Right(AnyString, 20) 
' 返回 "Hello World"
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.Len命令
命令名称: RTrim 去掉字符串右边空格
命令功能: 去掉末尾空格
语法格式: LTrim(string)
参数说明:
string参数是任意有效的字符串表达式
返回值: 无末尾空格的字符串
脚本例子:
  
//下面的示例利用 LTrim, 
//RTrim, and Trim 函数分别去除前导空格,
//末尾空格,前导空格和末尾空格都去除:
Dim MyVar
MyVar = LTrim("  vbscript ")  
'MyVar 包含 "vbscript "
MyVar = RTrim("  vbscript ")  
'MyVar 包含 "vbscript"
MyVar = Trim("  vbscript ")   
'MyVar 包含"vbscript"
备注:
经测试,去掉的空格字符串
包括Chr(9)、Chr(10)、Chr(13)、Chr(32)等
命令名称: Space 空格
命令功能: 求由指定数目的空格组成的字符串
语法格式: Space(number)
参数说明:
number:为字符串中用户所需的空格数
返回值:
脚本例子:
  
Dim MyString
MyString = Space(10)
' 返回具有 10 个空格的字符串
MyString = "Hello" & Space(10) & "World" 
' 在两个字符串之间插入 10 个空格
备注:
命令名称: StrComp 对比俩个字符串
命令功能: 返回两个字符串比较结果
语法格式: StrComp(string1, string2[,comparision])
参数说明:
string1:任意有效的字符串表达式
string2:任意有效的字符串表达式
comparision:对比方式,是否忽略大小写,
可省略,默认False,即不忽略大小写
返回值:
string1小于string2返回-1
string1等于string2返回0
string1大于string2返回1
string1或string2为Null 返回Null 
脚本例子:
Dim MyStr1, MyStr2, MyComp
MyStr1 = "ABCD": MyStr2 = "abcd"
MyComp = StrComp(MyStr1, MyStr2)
'MyComp = -1
MyComp = StrComp(MyStr2, MyStr1)
'MyComp = 1
MyComp = StrComp(MyStr2, MyStr1,true)
'MyComp = 0
备注:
命令名称: String 生成重复字符串
命令功能: 求具有指定长度的、重复字符组成的字符串
语法格式: String(number, character)
参数说明:
number:返回字符串的长度
character:指定字符或字符串表达式的字符代码,
其中字符串表达式的第一个字符用于组成返回的字符串
返回值: 字符串型:具有指定长度的、重复字符组成的字符串
脚本例子:
  
Dim MyString
MyString = String(5, "*")
' 返回"*****"
MyString = String(5, 42) 
' 返回"*****"
MyString = String(10, "ABC")
' 返回"AAAAAAAAAA"
备注:
命令名称: StrnComp 比较字符串
命令功能: 字符串比较(含对比长度)
语法格式: str=StrnComp(string1,string2,size,compare)
参数说明:
string:字符串型,任意有效的字符串表达式
position:整数型,任意可以计算其值的数值表达式
返回值:
string1小于string2返回-1
string1等于string2返回0
string1大于string2返回1
脚本例子:
Dim a="aabd",b="aabc",c
c = StrnComp(a, b, 3)
TracePrint c 
//对比长度为3,则比较两个字符串的
//前3位字符"aab",比较结果为相等,返回0

c = StrnComp(a, b, 4)
TracePrint c 
//对比长度为4,则比较前4位字符"aabd"与"aabc"的大小,
//比较结果为前者大于后者,返回1
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.StrnComp命令
命令名称: StrReverse 颠倒字符串
命令功能: 求字符串,此字符串与指定字符串顺序相反
语法格式: StrReverse(string1)
参数说明:
string1 参数是要进行字符反向的字符串。
如果 string1 是零长度字符串 (""),
则返回零长度字符串。
如果 string1 为 Null,则会出现错误
返回值: 与指定字符串顺序相反的字符串
脚本例子:
  
Dim MyStr
MyStr = StrReverse("VBScript") 
'MyStr 包含 "tpircSBV"
备注:
该命令的汉字占用3个字符位置,
而 UTF8字符插件 中汉字占用1个字符位置
如果参数中包含汉字,建议使用UTF8.Len命令
命令名称: Trim 去掉字符串左右两边空格
命令功能: 去掉前导空格和末尾空格
语法格式: Trim(string)
参数说明:
string参数是任意有效的字符串表达式
返回值: 无前导空格和末尾空格的字符串
脚本例子:
  
KeyPress "Home" 
//下面的示例利用 LTrim, RTrim, and Trim 函数
//分别去除前导空格,末尾空格,前导空格和末尾空格都去除:
Dim MyVar
MyVar = LTrim("  vbscript ")  
'MyVar 包含 "vbscript "
MyVar = RTrim("  vbscript ")  
'MyVar 包含 "  vbscript"
MyVar = Trim("  vbscript ")   
'MyVar 包含"vbscript"
备注:
经测试,去掉的空格字符串
包括Chr(9)、Chr(10)、Chr(13)、Chr(32)等
命令名称: Ucase 转大写
命令功能: 求字符串的大写形式
语法格式: UCase(string)
参数说明:
string:字符串型,任意有效的字符串表达式
返回值: 字符串型:返回字符串的大写形式
脚本例子:
  
Dim MyWord
MyWord = UCase("Hello World")
' 返回"HELLO WORLD"
备注:
数组函数:
命令名称: Array 合成数组
命令功能: 返回一个数组
语法格式: Array(arglist)
参数说明:
arglist:数组元素的值的列表(用逗号分隔)
返回值: 返回一个数组
脚本例子:
  
Dim i
i = Array(1,"字符串1", 2.2) 
'i(0)=1,i(1)"字符串1",i(2)=2.2
备注:
命令名称: UBound 数组长度
命令功能: 获取数组的长度
语法格式: UBound(arr)
参数说明:
arr:数组变量
返回值: 用于确定数组的大小,返回指定数组的最大下标 (仅限一维数组)
脚本例子:
  
Dim a=array("一","二","三","四","五")
Function UBound(arr)
    Dim i = -1
    For Each str In arr
        i = i + 1
    Next
    UBound = i
End Function
TracePrint UBound(a) //返回4
备注:
命令名称: Split 分割数组
命令功能: 分隔数据返回基于0的一维数组
语法格式: Split(expression,delimiter)
参数说明:
expression:字符串表达式,待分隔的数据
delimiter:分隔符,以分隔符将数据分开
保存到数组的各个元素中
返回值: 返回一个数组
脚本例子:
  
Dim MyString, MyArray
MyString = Split("VBScriptXisXfun!","X")
TracePrint MyString(0) 
TracePrint MyString(1) 
TracePrint MyString(2)
备注:
命令名称: Clone 拷贝数组
命令功能: 将一个数组的所有元素值拷贝给别一个数组(对其进行值拷贝)
语法格式: Clone(arr)
参数说明:
arr:数组变量
返回值: 返回另一个相同元素数组
脚本例子:
  
dim a(),b()
a(0) = 1
a(1) = 2
b = Clone(a)
TracePrint b(0), b(1)
b(0) = 30
TracePrint a(0) 
//a数组中的第一个元素值并未发生改变,依旧等于1

反例
dim a(),b()
a(0) = 1
a(1) = 2
b = a
TracePrint b(0), b(1)
b(0) = 30
TracePrint a(0) 
//a数组中的第一个元素值已改变为30
备注:
类型转换函数:
命令名称: CBool 转布尔
命令功能: 尝试将表达式转换为Boolean类型
语法格式: CBool(expression)
参数说明:
expression:任意有效的表达式
如果expression是零,则返回False;否则返回True
返回值: 转换成功后返回布尔数据类型的值
脚本例子:
  
Dim A,B
A = 5 
B = CBool(A)   'A=True
备注:
数字0转成布尔值为False,非0的数转为布尔值为True
命令名称: CDbl 转浮点数
命令功能: 尝试将表达式转换为双精度浮点类型
语法格式: CDbl(expression)
参数说明:
expression:任意有效的表达式
返回值: 转换成功后返回双精度浮点数的值
脚本例子:
  
Dim MyCurr, MyDouble
MyCurr = "234"         
MyDouble = CDbl(MyCurr)   'MyDouble=234
备注:
命令名称: CInt 转整数
命令功能: 尝试将表达式转换为短整数型
语法格式: CInt(expression)
参数说明:
expression:任意有效的表达式
返回值:
转换成功后返回短整型数据类型的值,
注意:返回此数值是经过四舍五入的结果  
脚本例子:
  
Dim MyDouble, MyInt
MyDouble = 2345.5678 
MyInt = CInt(MyDouble)  'MyInt = 2346 
备注:
短整型数取值范围:-32,768 到 32,767
命令名称: CLng 转整数
命令功能: 尝试将表达式转换为长整型整数
语法格式: CLng(expression)
参数说明:
expression:任意有效的表达式
返回值:
转换成功后返回长整型数据类型的值,
注意:返回此数值是经过四舍五入的结果  
脚本例子:
  
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55
MyLong1 = CLng(MyVal1)   'MyLong1 = 25427
MyLong2 = CLng(MyVal2)   'MyLong2 = 25428  
备注:
长整型数取值范围:-2,147,483,648 到 2,147,483,647
命令名称: CSng 转浮点数
命令功能: 尝试将表达式转换为单精度浮点类型
语法格式: CSng(expression)
参数说明:
expression:任意有效的表达式
返回值: 转换成功后返回单精度浮点数数据类型的值
脚本例子:
  
Dim My1,My2  
My1 = "75.23"
My2 =CSng(My1)   'My2=75.23
备注:
命令名称: CStr 转字符串
命令功能: 尝试将表达式转换为字符串类型
语法格式: CStr(expression)
参数说明:
expression:任意有效的表达式
返回值: 转换成功后返回字符串型后数据类型的值
脚本例子:
  
Dim MyInteger, MyString
MyInteger = 437       
MyString =CStr(MyDouble)
'MyString="437"
备注:
日期时间函数:
命令名称: Date 获得系统日期
命令功能: 得到当前系统日期,格式为"年/月/日"
语法格式: Date()
参数说明:
返回值: 字符串型,返回当前系统日期
脚本例子:
 
Dim MyDate
MyDate = Date()
TracePrint  MyDate
备注:
命令名称: Now 获得系统日期和时间
命令功能: 返回系统当前的日期和时间组成的字符串
语法格式: Now()
参数说明:
返回值: 字符串,返回当前的日期和时间
脚本例子:
  
Dim MyVar
MyVar = Now()
TracePrint MyVar
备注:
命令名称: TickCount 获取脚本运行时间
命令功能: 获取当前脚本运行时间,单位毫秒
语法格式: TickCount()
参数说明:
返回值: 返回值为数值类型,脚本运行的时间
脚本例子:
 
Dim MyTime
MyTime = TickCount()
TracePrint MyTime
备注:
命令名称: Time 获得系统时间
命令功能: 得到当前系统时间
语法格式: Time()
参数说明:
返回值:
返回值为数值类型,
表示当前系统从1970年1月1日至今所经过的秒数
脚本例子:
 
Dim MyTime
MyTime = Time()
TracePrint MyTime
备注:
其他函数:
命令名称: IsArray 判断是否为数组
命令功能: 判断某变量是否为数组
语法格式:
IsArray(varname)
参数说明:
varname:可以是任意变量
返回值: 如果变量是数组,IsArray 返回 True;否则,返回 False
脚本例子:
  
//下面的示例利用IsArray函数
//验证MyArray是否为一数组:
Dim MyArray(3)
MyArray(0) = "Sunday"
MyArray(1) = "Monday"
MyArray(2) = "Tuesday"
If IsArray(MyArray)=True Then
    Traceprint "MyArray是数组"
Else 
    Traceprint "MyArray不是数组"
End If
备注:
命令名称: IsNull 判断是否为空
命令功能: 判断表达式是否不包含任何有效数据
语法格式:
IsNull(expression)
参数说明:
expression:任意表达式
返回值:
如果expression为Null,则IsNull返回 True,
即表达式不包含有效数据,否则IsNull返回False
脚本例子:
  
Dim  MyCheck    
MyCheck = 2   
If IsNull(MyCheck)=False Then
    Traceprint "MyCheck不为空"
Else 
    Traceprint "MyCheck为空"
End If
备注:
命令名称: IsNumeric 判断是否为数字
命令功能: 判断某变量是否为数值类型
语法格式:
IsNumeric expression
参数说明:
expression:可以是任意表达式
返回值:
如果变量是数值类型,
IsNumeric返回 True;否则,返回 False
脚本例子:
  
Dim MyVar
MyVar = 53
If IsNumeric(MyVar)=True Then
    Traceprint "MyVar是数值"
Else 
    Traceprint "MyVar不是是数值"
End If 
备注:
运算符: 算术运算符:
命令名称: + 加法运算
命令功能: 用于计算两个数之和
语法格式: 返回值 = 表达式1 + 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值: 数值型,得到两个数的加法计算之和
脚本例子:
  
Dim 结果
结果 = 10 + 20
TracePrint "计算结果为:" & 结果
//结果为30
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
命令名称: - 减法运算/负号
命令功能:
语法 1
    返回值 = 表达式1 - 表达式2
语法 2  
    - 表达式3
语法格式: 返回值 = 表达式1 - 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
表达式3:数值型,任意数值表达式
返回值: 数值型,得到两个数的减法计算之差
脚本例子:
  
Dim 结果
结果 = 20 - 10
TracePrint "计算结果为:" & 结果
//结果为10
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
命令名称: * 乘法运算
命令功能: 用于计算两个数相乘
语法格式: 返回值 = 表达式1 * 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值: 数值型,得到两个数的乘法计算之积
脚本例子:
  
Dim 结果
结果 = 10 * 20
TracePrint "计算结果为:" & 结果
//结果为200
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
命令名称: / 除法运算
命令功能: 用于计算两个数相除并返回以小数表示的结果
语法格式: 返回值 = 表达式1 / 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值: 数值型,得到两个数的除法计算结果(带小数)。
脚本例子:
  
Dim 结果
结果 = 10 / 20
TracePrint "计算结果为:" & 结果
//结果为0.5
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
命令名称: \ 整除运算
命令功能: 用于计算两个数相除并返回结果的整数部分
语法格式: 返回值 = 表达式1 \ 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值: 数值型,得到两个数的除法计算结果的整数部分(不带小数)
脚本例子:
  
Dim 结果
结果 = 9 \ 4
TracePrint "计算结果为:" & 结果
//结果为2
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
命令名称: ^ 求幂运算
命令功能: 用于计算数的指数次方
语法格式: 返回值 = 表达式1 ^ 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值: 数值型,得到一个数的幂次方结果
脚本例子:
  
Dim 结果
结果 = 2 ^ 3
TracePrint "计算结果为:" & 结果
//结果为8
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
命令名称: Mod 取余运算
命令功能: 用于计算两个数相除并返回其余数
语法格式: 返回值 = 表达式1 Mod 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值: 整数型,得到两个数的除法计算之余数
脚本例子:
  
Dim 结果
结果 = 15 Mod 4
TracePrint "计算结果为:" & 结果
//结果为3
备注:
如果参数不是数值型时,脚本会尝试
自动强制转换为数值并计算,
如果强制转换失败,则返回错误信息
连接运算符:
命令名称: & 强制连接
命令功能: 用于强制两个表达式进行字符串连接
语法格式: 结果 = 表达式1 & 表达式2
参数说明:
表达式1:字符串,任意表达式
表达式2:字符串,任意表达式
返回值:
字符串,得到两个表达式连接后的新字符串
脚本例子:
  
Dim s1, s
s1 = "您好,"
s =  "按键精灵欢迎您"
TracePrint s1 & s
//输出:您好,按键精灵欢迎您 
备注:
如果参数不是字符串时,脚本会尝试
自动强制转换为字符串并计算。
如果包含Null,
则返回错误信息:
attempt to concatenate a null value
([string "function main()..."])
关系运算符:
命令名称: = 等于/赋值
命令功能: 对变量赋值或在表达式内部表示判断等于
语法格式: 表达式1 = 表达式2
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
返回值:
赋值或布尔值
脚本例子:
  
Dim a, b, c
a = 0
b = 0
c = (a = b)
TracePrint "c =" , c
//输出:c = true
//分析1:在"c="这里的等于号表示赋值,
//将右边的结果赋值给左边变量c
//分析2:在"(a = b)"这里的等于表示判断,
//结果为布尔值
备注:
命令名称: <> 不等于
命令功能: 对左右两边判断是否相等,返回布尔值
语法格式: 表达式1 <> 表达式2
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
返回值:
布尔值:成立返回真True,不成立返回假False
脚本例子:
  
Dim a, b, c
a = 0
b = "0"
c = (a <> b)
TracePrint "c =" , c
//输出:c = true
备注:
请注意数据类型,字符串"3"与数字3两者
使用不等于判断的话,返回结果为假
命令名称: > 大于
命令功能: 判断左边是否大于右边,返回布尔值
语法格式:
语法1
    表达式1 > 表达式2
语法2
    表达式1 > 表达式2 > 表达式3
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
表达式3:任意数据类型,任意表达式
返回值:
布尔值:成立返回真True,不成立返回假False
脚本例子:
  
Dim a, b, c
a = 10
b = 100
c = (a > b)
TracePrint "c =" , c
//输出:c = false
备注:
请注意数据类型,两边的数据类型必须保持一致

如果是数值,那么比较数值大小;
如果是单个字符,则比较两个字符的ASCII码值大小;
如果是两个汉字,则比较两个汉字字符的区位码;
如果是字符串,则从左开始逐一对比每一个字符ASCII码值,
直到出现不相等的一个值
常见的字符值大小关系如下:
空格<0<......<9
命令名称: < 小于
命令功能: 判断左边是否小于右边,返回布尔值
语法格式:
语法1
    表达式1 < 表达式2
语法2
    表达式1 < 表达式2 < 表达式3
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
表达式3:任意数据类型,任意表达式
返回值:
布尔值:成立返回真True,不成立返回假False
脚本例子:
  
Dim a, b, c
a = 0
b = "0"
c = (a < b)
TracePrint "c =" , c
//输出:c = true
备注:
请注意数据类型,两边的数据类型必须保持一致

如果是数值,那么比较数值大小;
如果是单个字符,则比较两个字符的ASCII码值大小;
如果是两个汉字,则比较两个汉字字符的区位码;
如果是字符串,则从左开始逐一对比每一个字符ASCII码值,
直到出现不相等的一个值
常见的字符值大小关系如下:
空格<0<......<9
命令名称: >= 大于等于/不小于
命令功能: 判断左边是否大于或等于(即不小于)右边,返回布尔值
语法格式:
语法1
   表达式1 >= 表达式2
语法2
   表达式1 >= 表达式2 >= 表达式3
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
表达式3:任意数据类型,任意表达式
返回值:
布尔值:成立返回真True,不成立返回假False
脚本例子:
Dim a, b, c
a = 10
b = 100
c = (a >= b)
TracePrint "c =" , c
//输出:c = false
备注:
请注意数据类型,两边的数据类型必须保持一致

如果是数值,那么比较数值大小;如果是单个字符,
则比较两个字符的ASCII码值大小;
如果是两个汉字,则比较两个汉字字符的区位码;
如果是字符串,则从左开始逐一对比每一个字符ASCII码值,
直到出现不相等的一个值
常见的字符值大小关系如下:
空格<0<......<9
命令名称: <= 小于等于/不大于
命令功能: 判断左边是否小于或等于(即不大于)右边,返回布尔值
语法格式:
语法1
   表达式1 <= 表达式2
语法2
   表达式1 <= 表达式2 <= 表达式3
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
表达式3:任意数据类型,任意表达式
返回值:
布尔值:成立返回真True,不成立返回假False
脚本例子:
  
Dim a, b, c
a = 10
b = 100
c = (a <= b)
TracePrint "c =" , c
//输出:c = true
备注:
请注意数据类型,两边的数据类型必须保持一致

如果是数值,那么比较数值大小;如果是单个字符,
则比较两个字符的ASCII码值大小;
如果是两个汉字,则比较两个汉字字符的区位码;
如果是字符串,则从左开始逐一对比每一个字符ASCII码值,
直到出现不相等的一个值
常见的字符值大小关系如下:
空格<0<......<9
逻辑运算符:
命令名称: And 逻辑与
命令功能: 用于对两个表达式进行逻辑与运算
语法格式: 结果 = 表达式1 And 表达式2
参数说明:
表达式1:数值型,任意数值表达式
表达式2:数值型,任意数值表达式
返回值:
如果 表达式1 为  真True  且 表达式2 为 真True   
则 结果 为   真True
如果 表达式1 为  真True  且 表达式2 为 假False  
则 结果 为   假False
如果 表达式1 为  假False 且 表达式2 为 真True  
则 结果 为   假False
如果 表达式1 为  假False 且 表达式2 为 假False  
则 结果 为   假False
脚本例子:
 
Dim a, b, c, d, e
a = 10 : b = 100
c = 20 : d = 200
e = (a < b And c < d)
TracePrint "e =" , e
//输出:e = true
备注:
逻辑与口诀:有假则假
命令名称: Not 逻辑非
命令功能: 用于对表达式进行逻辑非运算
语法格式: 结果 = Not 表达式
参数说明:
表达式:数值型,任意数值表达式
返回值:
如果 表达式 为   真True    
则 结果 为    假False
如果 表达式 为   假False   
则 结果 为     真True
脚本例子:
  
Dim a, b, c
a = 10 : b = 100
c = Not(a < b)
TracePrint "c =" , c
//输出:c = false
备注:
逻辑非口诀:真假互换
命令名称: Or 逻辑或
命令功能: 用于对两个表达式进行逻辑或运算
语法格式: 结果 = 表达式1 Or 表达式2
参数说明:
表达式1:任意数据类型,任意表达式
表达式2:任意数据类型,任意表达式
返回值:
如果 表达式1 为  真True  且 表达式2 为 真True   
则 结果 为   真True
如果 表达式1 为  真True  且 表达式2 为 假False  
则 结果 为   真False
如果 表达式1 为  假False 且 表达式2 为 真True   
则 结果 为   真False
如果 表达式1 为  假False 且 表达式2 为 假False  
则 结果 为   假False
脚本例子:
  
Dim a, b, c, d, e
a = 10 : b = 100
c = 20 : d = 200
e = (a < b Or c > d)
TracePrint "e =" , e
////输出:e = true
备注:
逻辑或口诀:有真则真
插件命令: 文件插件:
命令名称: File.Append 追加内容到文件
命令功能:
用于在指定的文本文件中追加字符内容,
使其与原有内容合并
语法格式: File.Append(FileName,content)
参数说明:
FileName:字符串型,为文本文件路径
content:字符串型,欲追加的字符内容
返回值: 布尔值,追加内容成功返回true,否则返回false
脚本例子:
  
Dim 返回值,文件路径,内容
文件路径="/sdcard/MobileAnjian/anjian.txt"
内容="我爱你"
追加内容=",你也爱我吗?"
Call File.Write(文件路径,内容)  
Call file.Append(文件路径, 追加内容)
返回值=File.Read(文件路径) 
TracePrint 返回值 
//返回字符串"我爱你,你也爱我吗?"
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: File.Bytes 获取文件字节数大小
命令功能: 计算一个文本文件的字节数大小
语法格式: File.Bytes(dir)
参数说明:
dir:字符串型,为文本文件路径
返回值: 整数型,返回文本文件的字节大小
脚本例子:
  
Dim 返回值,文件路径1,内容
文件路径1="/sdcard/MobileAnjian/anjian.txt"
内容="我爱你" 
Dim 文件路径2="/sdcard/MobileAnjian/UFO.txt"
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt"
Dim 内容="abcd",字节数
Call Dir.Create(文件路径) 
//先创建一个文本文件
Call file.write(文件路径,内容) 
//将定义的内容写入文本中
字节数 = file.bytes(文件路径)
TracePrint 字节数 //返回4个字节
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: File.DeleteLine 删除文本指定行内容
命令功能: 删除文本文件中指定行的内容
语法格式: File.DeleteLine(dir,Line)
参数说明:
dir:字符串型,为文本文件路径
Line:整数型,欲删除内容的行数号
返回值:
脚本例子:
  
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt" 
Dim 内容=array("我爱你中国","我爱你母亲")
Call file.WriteLines (文件路径,内容) 
//将内容中的两行字符串写入文本文件 
TracePrint file.Readline(文件路径, 1) 
//读取并输出第一行字符串内容"我爱你中国"
TracePrint file.Readline(文件路径, 2) 
//读取并输出第一行字符串内容"我爱你母亲"
Call File.DeleteLine(文件路径, 1) 
//删除第1行的内容
TracePrint file.Readline(文件路径, 1) 
//尝试再次输出第1行内容,
//此时输出"我爱你母亲",
//说明原来的第一行内容"我爱你中国"已被删除
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: File.Length 获取文本字符数量
命令功能: 计算一个文本文件所包含的字符数量
语法格式: File.Length(dir)
参数说明:
dir:字符串型,为文本文件路径
返回值: 整数型,返回文本文件的字符数量
脚本例子:
  
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt"
Dim 内容="我爱你啊中国",字符数
Call Dir.Create(文件路径) 
//先创建一个文本文件
Call file.write(文件路径,内容) 
//将定义的内容写入文本中
字符数 = file.length(文件路径)
TracePrint 字符数 //返回6个字符数量
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: File.LinesNumber 获取文本总行数
命令功能: 计算文本文件中的总行数
语法格式: File.LinesNumber(dir)
参数说明:
dir:字符串型,为文本文件路径
返回值: 整数型,返回文本文件的行数数量
脚本例子:
  
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt" 
Dim 行数
Dim 内容=array("我爱你中国","我爱你母亲")
Call file.WriteLines (文件路径,内容) 
//将内容中的两行字符串写入文本文件 
TracePrint file.Readline(文件路径, 1) 
//读取并输出第一行字符串内容"我爱你中国"
TracePrint file.Readline(文件路径, 2) 
//读取并输出第一行字符串内容"我爱你母亲"
行数 = file.linesnumber(文件路径) 
//读取该文本文件的行数
TracePrint 行数 //返回行数2
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: File.Read 读取文件内容
命令功能: 读取文件内容
语法格式: File.Read(FileName)
参数说明:
FileName:字符串型,为文件绝对路径
返回值: 字符串型,为读出的内容
脚本例子:
  
//写入文本信息(路径,内容)
Call File.Write("/sdcard/MobileAnjian/anjian.txt",_
"我爱按键精灵")
//读取文本信息(路径)
Dim 返回值
返回值=File.Read("/sdcard/MobileAnjian/anjian.txt")
TracePrint 返回值
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
如果读取文本文件,记得将文本文件的编码设置为UTF-8,
以免读取中文出现乱码
命令名称: File.ReadLine 读取文本指定行内容
命令功能: 读取文本文件中指定行的内容
语法格式: File.ReadLine(dir,Line)
参数说明:
dir:字符串型,为文本文件路径
Line:整数型,欲删除内容的行数号
返回值: 字符串型,为读出的指定行内容
脚本例子:
  
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt" 
Dim 文件路径="/sdcard/MobileAnjian/anjian.txt" 
Dim 内容=array("我爱你中国","我爱你母亲")
Call file.WriteLines (文件路径,内容) 
//将内容中的两行字符串写入文本文件 
TracePrint file.Readline(文件路径, 1) 
//读取并输出第一行字符串内容"我爱你中国"
TracePrint file.Readline(文件路径, 2) 
//读取并输出第二行字符串内容"我爱你母
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
命令名称: File.ReadLines 读取文本文件内容,存为数组
命令功能: 读取文本文件内容,存为数组
语法格式: File.ReadLines(FileName)
参数说明:
FileName:字符串型,为文件绝对路径
返回值: 返回数组,由读取每一行的字符串组成
脚本例子:
  
//注意:每一个数组元素读完会自动换行,不是读在一行
Dim 路径, 内容数组, 读取结果, 每行内容
路径 = "/sdcard/anjian.txt"
内容数组 = Array("按键精灵", "我爱你")
//往路径中写入内容,注意,这个是覆盖写入
File.WriteLines 路径, 内容数组
//读取文件路径的内容保存到读取结果中
读取结果 = File.ReadLines(路径)
//调试输出数组
For Each 每行内容 in 读取结果
   TracePrint 每行内容
Next
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
如果读取文本文件,记得将文本文件的编码设置为UTF-8,
以免读取中文出现乱码
使用读取结果时,请注意,读取结果是保存到数组中的
命令名称: File.Write 写内容到文件
命令功能: 写入文件内容
语法格式: File.Write(FileName,str)
参数说明:
FileName:字符串型,为文件绝对路径
str:字符串型,为待写入文本的内容
返回值:
脚本例子:
  
//写入文本信息(路径,内容)
Call File.Write("/sdcard/MobileAnjian/anjian.txt",_
"我爱按键精灵")
//读取文本信息(路径)
Dim 返回值
返回值=File.Read("/sdcard/MobileAnjian/anjian.txt")
TracePrint 返回值
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
写入方式为覆盖写入,即删除原内容后写入新内容
多个参数不换行,如果要换行写入,请加"\n"换行转义符
命令名称: File.WriteLines 写入数组内容到文件
命令功能: 写入数组内容到文件
语法格式: File.WriteLines(FileName, Lines)
参数说明:
FileName:字符串型,为文件绝对路径
Lines:字符串数组,为待写入文本的内容
返回值:
脚本例子:
  
//注意:每一个数组元素写完会自动换行,不是写在一行
Dim arr(5)
arr(0)="我"
arr(1)="爱"
arr(2)="按"
arr(3)="键"
arr(4)="精"
arr(5)="灵"
Call File.WriteLines("/sdcard/anjian.txt", arr)
备注:
可以使用RE管理器之类的安卓应用来查看手机文件路径
写入方式为覆盖写入,即删除原内容后写入新内容
写入的内容为数组字符串,请勿放普通变量
时间日期插件:
命令名称: DateTime.Year 获得时间中的年份
命令功能: 获得时间中的年份
语法格式: DateTime.Year(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间中的年份
脚本例子:
  
Traceprint DateTime.Year()
备注:
命令名称: DateTime.Month 获得时间中的月份
命令功能: 获得时间中的月份
语法格式: DateTime.Month(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间中的月份
脚本例子:
  
Traceprint DateTime.Month()
备注:
命令名称: DateTime.Day 获得时间是当月的第几天
命令功能: 获得时间是当月的第几天
语法格式: DateTime.Day(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 整数,返回时间是当月的第几天
脚本例子:
  
Traceprint DateTime.Day()
备注:
命令名称: DateTime.Hour 获得时间中的小时数
命令功能: 获得时间中的小时数
语法格式: DateTime.Hour(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间中的小时数
脚本例子:
  
Traceprint DateTime.Hour()
备注:
命令名称: DateTime.Minute 获得时间中的分钟数
命令功能: 获得时间中的分钟数
语法格式: DateTime.Minute (t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间中的分钟数
脚本例子:
  
Traceprint DateTime.Minute()
备注:
命令名称: DateTime.Second 获得时间中的秒数
命令功能: 获得时间中的秒数
语法格式: DateTime.Second(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间中的秒数
脚本例子:
  
Traceprint DateTime.Second()
备注:
命令名称: DateTime.WeekDay 获得时间是星期几
命令功能: 获得时间是星期几
语法格式: DateTime.WeekDay(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间是星期几
脚本例子:
  
Traceprint DateTime.WeekDay()
备注:
命令名称: DateTime.YearDay 获得时间是当年的第几天
命令功能: 获得时间是当年的第几天
语法格式: DateTime.YearDay(t)
参数说明:
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值: 返回时间是当年的第几天
脚本例子:
  
Traceprint DateTime.YearDay()
备注:
命令名称: DateTime.Format 按照格式输出时间
命令功能: 按照指定格式输出时间
语法格式: DateTime.Format(fmt[,t])
参数说明:
fmt:分别用%Y, %m, %d, %H, %M, %S代表年,月,日,时,分,秒
如果不填格式,默认格式为%Y-%m-%d %H:%M:%S
t:为可选参数,可以填写Time()得到的时间。
如果不填,则取当前时间
返回值:
脚本例子:
  
Traceprint DateTime.Format()
备注:
多线程插件:
命令名称: Thread.Start 启动线程
命令功能: 启动线程
语法格式:
Thread.Start(thread_name, [var1, var2 ...])
参数说明:
thread_name:线程名字,需要作为多线程启动的子程序或函数名
var1, var2 ...:传递给线程的参数,可省略,最多支持10个
返回值: 线程id
脚本例子:
  
//如果主线程停止,所有的子线程都会停止
//启动线程可能有短暂延迟
Dim  h
Sub test_thread(var1,var2)
    TracePrint var1&" | "&var2
End Sub
h=Thread.Start(test_thread,"我爱","按键精灵")
Do
    Delay 2000
Loop
备注:
返回值线程ID目前无法输出查看
每个线程之间变量无法通用,
需要通过 SetShareVar 设置共享变量
和 GetShareVar 获取共享变量 来实现变量互通
如果主线程停止了,那么所有的子线程都会停止
命令名称: Thread.Stop 结束线程
命令功能: 结束线程
语法格式:
Thread.Stop(thread_id)
参数说明:
thread_id:线程id,启动线程的返回值
返回值:
脚本例子:
  
//如果主线程停止,所有的子线程都会停止
//启动线程可能有短暂延迟
Dim  h
Sub test_thread(var1,var2)
    Do
        TracePrint var1&var2
        Delay 1000
    Loop
End Sub
h=Thread.Start(test_thread,"我爱","按键精灵")
Thread.Stop(h)
Do
    Delay 2000
Loop
备注:
返回值线程ID目前无法输出查看
每个线程之间变量无法通用,
需要通过 SetShareVar 设置共享变量
和 GetShareVar 获取共享变量 来实现变量互通
如果主线程停止了,那么所有的子线程都会停止
命令名称: Thread.Wait 等待线程
命令功能: 等待线程执行完成
语法格式:
Thread.Wait(thread_id)
参数说明:
thread_id:线程id,启动线程的返回值
返回值:
脚本例子:
  
//等待线程时,主线程不会向下执行
Dim  h
Sub test_thread(var1,var2)
    Do
        TracePrint var1&var2
        Delay 1000
    Loop
End Sub
h=Thread.Start(test_thread,"我爱","按键精灵")
Thread.Wait(h)
Do
    delay 2000
loop
备注:
返回值线程ID目前无法输出查看
每个线程之间变量无法通用,
需要通过 SetShareVar 设置共享变量
和 GetShareVar 获取共享变量 来实现变量互通
如果主线程停止了,那么所有的子线程都会停止
命令名称: Thread.GetShareVar 获取共享变量值
命令功能: 获取共享变量的值
语法格式:
Thread.GetShareVar Variable
参数说明:
Variable:变量名,字符串,类似于ini配置中的键名
注意:变量名是字符串,前后要加双引号,不需要定义
返回值: 共享变量的值
脚本例子:
  
//下面示例会返回共享变量Sum的值
Thread.SetShareVar "Sum", 1  
Dim a
a=Thread.GetShareVar("Sum")
Traceprint "共享变量sum的值"&a
备注:
每个线程之间变量无法通用,
需要通过 SetShareVar 设置共享变量
和 GetShareVar 获取共享变量 来实现变量互通
每个线程设置的都是同一个共享变量,
所以后设置的会覆盖先设置的
命令名称: Thread.SetShareVar 设置共享变量
命令功能: 设置全局共享变量
语法格式:
Thread.SetShareVar Variable,Value
参数说明:
Variable:变量名,字符串,类似于ini配置中的键名
Value:变量的值,任意数据类型,与变量名相配对
注意:变量名是字符串,前后要加双引号,不需要定义
返回值:
脚本例子:
  
//注意每个线程设置的都是同一个共享变量,
//所以后设置的会覆盖先设置的
Thread.SetShareVar "Sum", 1  
Dim a
a=Thread.GetShareVar("Sum")
Traceprint "共享变量sum的值为"&a
备注:
每个线程之间变量无法通用,
需要通过 SetShareVar 设置共享变量 
和 GetShareVar 获取共享变量 来实现变量互通
每个线程设置的都是同一个共享变量,
所以后设置的会覆盖先设置的