运算符
变量和常量之间采用运算符连接后,称为表达式。MQ语言支持的运算符包括:
运算符
|
含义
|
+
|
加法运算
|
-
|
二元运算符:减法
一元运算符:负号
|
*
|
乘法运算
|
/
|
除法运算
|
Mod
|
整除取余
|
^
|
取幂
|
&
|
字符串连接
|
=
|
赋值
例如:当一个语句为X=Y时
|
等于(当用于表达式内部时)
|
|
<>
|
不等于
|
>
|
大于
|
<
|
小于
|
>=
|
大于等于
|
<=
|
小于等于
|
Not
|
逻辑非
|
And
|
逻辑与
|
Or
|
逻辑或
|
基本语句
MQ的基本语句如下:
注意!以下标红为按键精灵(安卓版)新增的相关命令语句,包含部分有改动的语句
名称
|
格式
|
解释
|
If
|
If 表达式 Then
…
ElseIf 表达式 Then
…
Else
…
End If
|
判断表达式并执行语句--通过判断表达式的取值,来执行后面的动作或控制。
|
Else
|
If 表达式 Then
…
ElseIf 表达式 Then
…
Else
…
End If
|
和If语句结合,进行条件判断。
|
ElseIf
|
If 表达式 Then
…
ElseIf 表达式 Then
…
ElseIf 表达式 Then
…
Else
…
End If
|
和If语句结合,进行条件判断。
|
Then
|
If 表达式 Then
|
和If、ElseIf语句结合,进行条件判断。
|
While
|
While 循环条件
…
Wend
|
循环语句--当循环条件成立的时候,反复执行循环体。
|
Wend
|
While 循环条件
…
Wend
|
和While一起构成循环语句。
|
For
|
For 循环次数
或
For 变量 = 起始数值 To 终止数值
或
For 变量 = 起始数值 To 终止数值 Step 步长数值
或
For Each 变量 In 数组
...
Next
|
循环语句。可以循环一定次数,也可以按照变量的起始数值到终止数值循环(如果不指定步长数值,默认步长为1),也可以循环取得数组中的所有值。
|
Next
|
Next
|
和For一起构成循环语句。
|
Select
|
Select Case 表达式
Case 情况1
…
Case 情况2
…
Case Else
…
End Select
|
根据情况选择条件判断。
|
Case
|
Select Case 表达式
Case 情况1
…
Case 情况2
…
Case Else
…
End Select
|
根据情况选择条件判断。
|
Do
|
Do While 表达式
…
Loop
或者
Do Until 表达式
…
Loop
|
条件循环
|
Loop
|
Do While 表达式
…
Loop
或者
Do Until 表达式
…
Loop
|
条件循环
|
Until
|
Do Until 表达式
…
Loop
|
条件循环
|
Sub
|
Sub 过程名(参数1, 参数2, ...)
…
End Sub
|
定义一个过程,可以在脚本中调用这个过程。
|
Function
|
Function 函数过程名(参数1, 参数2, ...)
…
End Function
|
定义一个函数过程,可以在脚本中调用这个函数。
|
Call
|
Call 函数或者过程名
(参数1, 参数2, ...)
可以简写为
函数或者过程名参数1, 参数2, ...
(省略Call关键字,并且无括号)
|
调用函数或者过程。
|
End If
|
End If
|
用于配对结束 If 条件判断。
|
End Select
|
End Select
|
用于配对结束 Select Case 选择情况判断。
|
End Sub
|
[End Sub
|
用于配对结束 Sub 子程序过程。
|
End Function
|
End Function
|
用于配对结束 Function 函数过程。
|
Exit Do
|
Exit Do
|
用于配对退出 Do 循环。
|
Exit For
|
Exit For
|
用于配对退出 For 循环。
|
Exit Sub
|
Exit Sub
|
用于配对退出 Sub 子程序过程。
|
Exit Function
|
Exit Function
|
用于配对退出 Function 函数过程。
|
EndScript
|
EndScript
|
强制结束脚本的执行。
|
Dim
|
Dim 变量1, 变量2 ...
|
定义一个或多个变量。
|
内置命令
MQ语言中已经包含了下列名称的子程序(也称为内置命令),在脚本中可以随时调用。
名称
|
格式
|
解释
|
|||||||||||||||||||||
Abs
|
Abs(数值表达式)
|
返回数值的绝对值,绝对值是其无符号的数值大小。例如,Abs(-1) 和 Abs(1) 都返回 1。
|
|||||||||||||||||||||
Asc
|
Asc(字符串表达式)
|
返回与字符串的第一个字母对应的字符ASCII码。
|
|||||||||||||||||||||
Atn
|
Atn(数值表达式)
|
返回数值的反正切值。
即计算直角三角形两个边的比值 (number) 并返回对应角的弧度值。此比值是该角对边的长度与邻边长度之比。结果的范围是从 -pi/2 到 pi/2 弧度。
将角度乘以 pi/180 即可转换为弧度,将弧度乘以 180/pi 即可转换为角度。
|
|||||||||||||||||||||
CBool
|
CBool(表达式)
|
试图把表达式转换为Bool类型并返回此Bool值。
|
|||||||||||||||||||||
CDbl
|
CDbl(表达式)
|
试图把表达式转换为数值类型并返回此数值。
|
|||||||||||||||||||||
Chr
|
Chr(数值表达式)
|
返回与指定的ASCII字符代码相对应的字符。
|
|||||||||||||||||||||
CInt
|
CInt(表达式)
|
试图把表达式转换为数值类型,并返回此数值经过四舍五入的结果。
|
|||||||||||||||||||||
CLng
|
CLng(表达式)
|
试图把表达式转换为数值类型,并返回此数值经过四舍五入的结果。
|
|||||||||||||||||||||
Sin
|
Sin(数值表达式)
|
返回将某个角表示为弧度数值的正弦值。即取某个角并返回直角三角形两边的比值。此比值是直角三角形中该角的对边长度与斜边长度之比。
结果范围在 -1 到 1 之间。
将角度乘以 pi/180 即可转换为弧度,将弧度乘以 180/pi 即可转换为角度。
|
|||||||||||||||||||||
Cos
|
Cos(数值表达式)
|
返回将某个角表示为弧度数值的余弦值。
即取某个角并返回直角三角形两边的比值。此比值是直角三角形中该角的邻边长度与斜边长度之比。结果范围在 -1 到 1 之间。
将角度乘以 pi/180 即可转换为弧度,将弧度乘以 180/pi 即可转换为角度。
|
|||||||||||||||||||||
CSng
|
CSng(表达式)
|
试图把表达式转换为数值类型并返回此数值。
|
|||||||||||||||||||||
CStr
|
CStr(表达式)
|
试图把表达式转换为字符串类型并返回此字符串。
|
|||||||||||||||||||||
Date
|
Date(时间表达式)
|
返回当前系统日期。格式为年/月/日,如2013年10月1日表示为2013/10/01。
|
|||||||||||||||||||||
Exp
|
Exp(数值表达式)
|
返回 e(自然对数的底)的幂次方。常数e约为 2.718282。
|
|||||||||||||||||||||
Fix
|
Fix(数值表达式)
|
返回指定数值的整数部分。
如果指定的数值为负数时,Fix会返回大于或等于该数值的第一个负整数。例如,Fix将 -8.4 转换为 -8。
|
|||||||||||||||||||||
Hex
|
Hex(数值表达式)
|
返回表示十六进制数值的字符串。当指定的数值表达式包含小数位时,会先采用四舍五入的方式去掉小数位再转换。
|
|||||||||||||||||||||
InStr
|
InStr(起始位置, 字符串1, 字符串2)
|
返回字符串2在字符串1中第一次出现的位置,从字符串1的某个指定起始位置开始搜索。
起始位置为数值表达式,用于设置每次搜索的开始位置,设为0表示从头开始搜索。
|
|||||||||||||||||||||
InStrRev
|
InStrRev
(字符串1, 字符串2, 起始位置)
|
返回字符串2在字符串1中出现的从结尾计起的位置。从字符串1的某个指定起始位置开始逆向搜索。
起始位置为数值表达式,用于设置每次搜索的开始位置,设为-1,表示从最后一个字符的位置开始搜索。
|
|||||||||||||||||||||
Int
|
Int(数值表达式)
|
返回指定数值的整数部分。如果指定的数值为负数时,Int会返回小于或等于该数值的第一个负整数。
|
|||||||||||||||||||||
IsArray
|
IsArray(变量)
|
返回 Bool 值指明某变量是否为数组。如果变量是数组,IsArray 返回 True;否则,返回 False。
|
|||||||||||||||||||||
IsNull
|
IsNull(变量)
|
返回 Bool 值,指明某变量是否不包含任何有效数据 (Null)。未初始化的变量通常都不包含任何有效数据。
|
|||||||||||||||||||||
IsNumeric
|
IsNumeric(变量)
|
返回 Bool 值,指明某变量是否为数值类型。如果变量是数值类型,IsNumeric 返回 True;否则,返回 False。
|
|||||||||||||||||||||
Join
|
Join(字符串数组)
|
返回一个字符串,此字符串由包含在数组中的多个子字符串联接创建,各个子字符串之间采用分隔符隔开。
分隔符是字符串类型,可以是空字符串 ""
|
|||||||||||||||||||||
KeepScreen
|
KeepScreen (Bool类型表达式)
|
当指定的Bool类型表达式为True的时候,保持屏幕常开状态;否则,关闭屏幕常开功能(屏幕会自动关闭)。
|
|||||||||||||||||||||
LCase
|
LCase(字符串表达式)
|
返回字符串的小写形式。
仅大写字母转换成小写字母;所有小写字母和非字母字符保持不变。
|
|||||||||||||||||||||
Left
|
Left(字符串, 长度)
|
返回指定数目的从字符串的左边算起的字符。
指定的长度为数值表达式,指明要返回的字符数目。如果是 0,返回空字符串 "";如果大于或等于字符串中的字符总数,则返回整个字符串。
|
|||||||||||||||||||||
Len
|
Len(字符串表达式)
|
返回字符串内字符的数目。
|
|||||||||||||||||||||
Log
|
Log(数字表达式)
|
返回数值的自然对数,即以常数 e 为底的对数。常数 e 的值约为 2.718282。
|
|||||||||||||||||||||
LTrim
|
LTrim(字符串表达式)
|
返回不带前导空格的字符串。
|
|||||||||||||||||||||
Mid
|
Mid(字符串, 起始位置, 长度)
|
从字符串中返回指定数目的字符。
起始位置和长度都是数值类型的表达式。
|
|||||||||||||||||||||
Now
|
Now
|
根据计算机系统设定的日期和时间,返回当前的日期和时间值组成的字符串。
|
|||||||||||||||||||||
Oct
|
Oct(数值表达式)
|
返回表示八进制数值的字符串。当指定的数值表达式包含小数位时,会先采用四舍五入的方式去掉小数位再转换。
|
|||||||||||||||||||||
PutAttachment
|
PutAttachment(路径, 要释放的文件)
PutAttachment 路径
|
把当前脚本包含的附件释放到指定的目录下。
路径是字符串类型,表示把附件文件释放到某个特定的目录下。
如果路径为Null或空字符串,会把附件释放到按键精灵的临时文件目录下。临时文件目录可以通过调用 GetTempDir() 获得。
要释放的文件(可选参数)为字符串类型,可以指定只释放附件中的一个或几个文件,支持通配符 * 和 ? 。
当不指定要释放的文件,或指定为Null或空字符串时,表示要释放本脚本附件中的所有文件。
|
|||||||||||||||||||||
Randomize
|
Randomize
Randomize 随机数种子
|
初始化随机数生成器。
|
|||||||||||||||||||||
Replace
|
Replace
(原字符串 , 查找的子字符串, 替换的字符串)
|
返回字符串,其中所有出现的某子字符串被替换为另一个字符串。
i="我爱你按键精灵"
ShowMessage Replace(i, "你", "")
运行可以看到“你”字被替换为空字符串,运行结果为"我爱按键精灵"。
|
|||||||||||||||||||||
RGB
|
RGB(数值R, 数值G, 数值B)
|
返回由红(由数值R表示)、绿(由数值G表示)、蓝(由数值B表示)三个分量组成的颜色值。
数值R, 数值G, 数值B的范围是0到255之间的整数,返回的颜色值也是数值型。
|
|||||||||||||||||||||
Right
|
Right(字符串, 长度)
|
返回指定数目的从字符串的右边算起的字符。
指定的长度为数值表达式,指明要返回的字符数目。如果是 0,返回空字符串 "";如果大于或等于字符串中的字符总数,则返回整个字符串。
|
|||||||||||||||||||||
Round
|
Round(数值表达式)
|
返回经过四舍五入的数值。
|
|||||||||||||||||||||
RTrim
|
RTrim(字符串表达式)
|
返回不带后缀空格的字符串。
|
|||||||||||||||||||||
Sgn
|
Sgn(数值表达式)
|
返回表示数字符号的整数。
如果指定的数值表达式大于0,返回值为1;如果指定的数值表达式小于0,返回值为-1;如果指定的数值表达式等于0,返回值为0;
|
|||||||||||||||||||||
Space
|
Space(数值表达式)
|
返回由指定数目的空格组成的字符串。
|
|||||||||||||||||||||
Split
|
Split(原字符串, 分隔符)
|
返回一个数组,数组中的每个元素都是子字符串。由这些子字符串和分隔符构成原字符串。
分隔符也是字符串类型。
|
|||||||||||||||||||||
Sqr
|
Sqr(数值表达式)
|
返回数值的平方根。
数值表达式的值必须大于或等于零。
|
|||||||||||||||||||||
StrComp
|
StrComp(字符串1, 字符串2)
|
返回两个字符串比较的结果。
当字符串1小于字符串2时,返回-1;当字符串1等于字符串2时,返回0;当字符串1大于字符串2时,返回1;
|
|||||||||||||||||||||
StrReverse
|
StrReverse(字符串)
|
返回字符串,此字符串与指定字符串顺序相反。
|
|||||||||||||||||||||
String
|
String(数量, 指定字符)
|
返回具有指定长度的、重复字符组成的字符串。
指定字符可以是字符串类型表达式,若其中包含不止一个字符,则仅使用其中第一个字符。
指定字符也可以是数值类型表达式,表示字符的ASCII码。
|
|||||||||||||||||||||
Swipe
|
Swipe (点1的横坐标, 点1的纵坐标, 点2的横坐标, 点2的纵坐标)
|
模拟手指在屏幕上的划动操作。从点1滑动到点2。
|
|||||||||||||||||||||
Tan
|
Tan(数值表达式)
|
返回将某个角表示为弧度数值的正切值。
即取某个角并返回直角三角形两边的比值。此比值是直角三角形中该角的对边长度与临边长度之比。
将角度乘以 pi/180 即可转换为弧度,将弧度乘以 180/pi 即可转换为角度。
|
|||||||||||||||||||||
TracePrint
|
TracePrint(表达式)
|
将表达式转换为字符串类型后,发往按键精灵手机助手,并在按键精灵手机助手的调试栏显示出来。
|
|||||||||||||||||||||
Trim
|
Trim(字符串表达式)
|
返回不带前导空格和后缀空格的字符串。
|
|||||||||||||||||||||
UCase
|
UCase(字符串表达式)
|
返回字符串的大写形式。
仅小写字母转换成大写字母;所有大写字母和非字母字符保持不变。
|
|||||||||||||||||||||
Vibrate
|
Vibrate(数值表达式)
|
在具有震动功能的设备上,维持震动一段时间。
维持的时间由数值表达式指定,表示以毫秒数为单位的时间。
|
|||||||||||||||||||||
GetDeviceID
|
GetDeviceID
|
返回设备的唯一编号
|
|||||||||||||||||||||
FindColor
|
FindColor
|
在屏幕中指定区域内,查找是否存在某个指定颜色。若找到,将找到的点的左边置于后两个参数(通常为变量)中;如果没有找到,则后两个参数均被置为-1。
16进制颜色值可以为字符串,格式为"BBGGRR",亦可为此字符串对应的16进制数值。
查找方式为0时,表示从左上向右下查找;为1时,表示从中心往四周查找;为2时,表示从右下向左上查找;为3时,表示从左下向右上查找;为4时,表示从右上向左下查找。
相似度为0到1之间的数值。此数值为1时,屏幕上的颜色必须与指定的颜色完全一致才算找到;否则,当存在少量偏差时也算找到。此数值越小,允许的颜色偏差范围越大。
|
|||||||||||||||||||||
FindPic
|
FindPic
|
在屏幕中指定的区域内,查找是否存在某个图片文件所指定的图像。如果找到,将找到的点的左边置于后两个参数(通常为变量)中;如果没有找到,则后两个参数均被置为-1。
16进制颜色值可以为字符串,格式为"BBGGRR",亦可为此字符串对应的16进制数值。
查找方式为0时,表示从左上向右下查找;为1时,表示从中心往四周查找;为2时,表示从右下向左上查找;为3时,表示从左下向右上查找;为4时,表示从右上向左下查找。
相似度为0到1之间的数值。此数值为1时,屏幕上的颜色必须与指定的颜色完全一致才算找到;否则,当存在少量偏差时也算找到。此数值越小,允许的颜色偏差范围越大。
支持的图片文件格式包括PNG、BMP、JPG等,推荐用PNG格式,PNG格式图片中所指定透明点表示该点不会参与匹配过程的计算,也就是该点与屏幕上的任何颜色都会匹配成功。
图片文件名如果以 "Attachment:" 开始,表明后面的部分是附件中的文件。按键精灵会自动从附件中找到该文件并进行找图,不需要将附件释放到存储卡上。
|
|||||||||||||||||||||
Delay
|
Delay
|
脚本暂停执行一段时间。数值表达式指定了延时的“毫秒”数。例如:
1秒=1000毫秒 1分钟=60000毫秒 1小时=3600000毫秒
|
|||||||||||||||||||||
GetScreenX
|
GetScreenX
|
返回当前屏幕的横向分辨率,即以像素数表示的屏幕宽度。
|
|||||||||||||||||||||
GetScreenY
|
GetScreenY
|
返回当前屏幕的纵向分辨率,即以像素数表示的屏幕高度。
|
|||||||||||||||||||||
GetScreenColorDep
|
GetScreenColorDep
|
返回当前屏幕的颜色深度,即每个像素用多少个二进制位(Bit)表示,通常屏幕的颜色深度为16或24或32。
|
|||||||||||||||||||||
GetTempDir
|
GetTempDir
|
返回存储卡上按键精灵的临时文件目录,可以在此目录中进行文件操作。
|
|||||||||||||||||||||
ColorToRGB
|
ColorToRGB
|
把颜色分解为红、绿、蓝三个分量,分别保存在变量R,变量G,变量B中。
16进制颜色值可以为字符串,格式为"BBGGRR",也可以为此字符串对应的16进制数值。
|
|||||||||||||||||||||
ColorDiff
|
ColorDiff
|
返回两个颜色的红、绿、蓝三个分量的差值之总和。
|
|||||||||||||||||||||
GetPixelColor
|
GetPixelColor
|
返回屏幕上指定点的颜色。由两个数值型表达式指定该点的横坐标和纵坐标(以像素为单位)。
返回的颜色值也是数值型。
|
|||||||||||||||||||||
InputText
|
InputText
|
在当前窗口中输入文字。例如:InputText "你好,我是按键精灵"。
|
|||||||||||||||||||||
KeyPress
|
KeyPress
|
先“按下”再“弹起”键,模拟我们平时的按键操作。
指定的按键可以是字符串类型,表示某个键的名字,也可以是数值类型,表示某个键的编码。
|
|||||||||||||||||||||
KeyDown
|
KeyDown
|
“按下”键,模拟我们平时的“按下”操作
指定的按键可以是字符串类型,表示某个键的名字,也可以是数值类型,表示某个键的编码。
|
|||||||||||||||||||||
KeyUp
|
KeyUp
|
“弹起”键,模拟我们平时的“弹起”操作
指定的按键可以是字符串类型,表示某个键的名字,也可以是数值类型,表示某个键的编码。
|
|||||||||||||||||||||
KillApp
|
KillApp
|
指定某个应用程序的包名,关闭这个应用程序。
|
|||||||||||||||||||||
PlaySound
|
PlaySound 文件名
|
播放指定的音频文件,其中文件名为字符串类型的表达式,指明了音频文件的存储位置。
|
|||||||||||||||||||||
Rnd
|
Rnd
|
返回一个小于 1 但大于或等于 0 的随机数。
在调用 Rnd 之前,先使用 Randomize 语句初始化随机数生成器。
要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
|
|||||||||||||||||||||
RunApp
|
RunApp
|
指定某个应用程序的包名,启动这个应用程序。
|
|||||||||||||||||||||
ShowMessage
|
ShowMessage
|
在屏幕上显示提示信息,此信息将会维持一定时间后自动消失。
如果提示信息不是字符串类型,会自动转换为字符串类型进行显示。
|
|||||||||||||||||||||
SnapShot
|
SnapShot 文件名
|
截屏并保存为PNG格式的图片文件。
|
|||||||||||||||||||||
Time
|
Time
|
返回当前系统时间。
|
|||||||||||||||||||||
Touch
|
Touch 横坐标, 纵坐标, 持续时间
|
点击屏幕上的指定位置,并持续按住一段时间再松开。
|
|||||||||||||||||||||
Tap
|
Tap 横坐标, 纵坐标
|
短暂点击屏幕上指定的位置
|
|||||||||||||||||||||
新增命令hot
|
|||||||||||||||||||||||
KeepCapture
|
call KeepCapture() 或
变量=KeepCapture()
|
KeepCapture的作用是截一次图,并把截图结果暂时保留下来,后续的找图、找色、取色都会直接从这个截图里面操作。而不会重新截图。此命令激活会大大加快后续的找图找色指令速度和效率!
|
|||||||||||||||||||||
ReleaseCapture
|
ReleaseCapture和KeepCapture成对使用,解除KeepCapture的效果,也就是说,后续的找图、找色、取色每次都会重新截图
|
ReleaseCapture和KeepCapture成对使用,解除KeepCapture的效果,也就是说,后续的找图、找色、取色每次都会重新截图
|
|||||||||||||||||||||
[size=0.83em]
|