运算符
变量和常量之间采用运算符连接后,称为表达式。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] |