运算符
变量和常量之间采用运算符连接后,称为表达式。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
IfElseIf语句结合,进行条件判断。
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(时间表达式)
返回当前系统日期。格式为//日,如2013101日表示为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的范围是0255之间的整数,返回的颜色值也是数值型。
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时,表示从右上向左下查找。
相似度为01之间的数值。此数值为1时,屏幕上的颜色必须与指定的颜色完全一致才算找到;否则,当存在少量偏差时也算找到。此数值越小,允许的颜色偏差范围越大。
FindPic
FindPic
在屏幕中指定的区域内,查找是否存在某个图片文件所指定的图像。如果找到,将找到的点的左边置于后两个参数(通常为变量)中;如果没有找到,则后两个参数均被置为-1
16进制颜色值可以为字符串,格式为“BBGGRR”,亦可为此字符串对应的16进制数值。
查找方式为0时,表示从左上向右下查找;为1时,表示从中心往四周查找;为2时,表示从右下向左上查找;为3时,表示从左下向右上查找;为4时,表示从右上向左下查找。
相似度为01之间的数值。此数值为1时,屏幕上的颜色必须与指定的颜色完全一致才算找到;否则,当存在少量偏差时也算找到。此数值越小,允许的颜色偏差范围越大。
支持的图片文件格式包括PNGBMPJPG等,推荐用PNG格式,PNG格式图片中所指定透明点表示该点不会参与匹配过程的计算,也就是该点与屏幕上的任何颜色都会匹配成功。
图片文件名如果以  “Attachment:” 开始,表明后面的部分是附件中的文件。按键精灵会自动从附件中找到该文件并进行找图,不需要将附件释放到存储卡上。
Delay
Delay
脚本暂停执行一段时间。数值表达式指定了延时的“毫秒”数。例如:
1秒=1000毫秒    1分钟=60000毫秒     1小时=3600000毫秒
GetScreenX
GetScreenX
返回当前屏幕的横向分辨率,即以像素数表示的屏幕宽度。
GetScreenY
GetScreenY
返回当前屏幕的纵向分辨率,即以像素数表示的屏幕高度。
GetScreenColorDep
GetScreenColorDep
返回当前屏幕的颜色深度,即每个像素用多少个二进制位(Bit)表示,通常屏幕的颜色深度为162432
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
ReleaseCaptureKeepCapture成对使用,解除KeepCapture的效果,也就是说,后续的找图、找色、取色每次都会重新截图
ReleaseCaptureKeepCapture成对使用,解除KeepCapture的效果,也就是说,后续的找图、找色、取色每次都会重新截图
KeepScreen        
KeepScreen Bool类型表达式
当指定的Bool类型表达式为True的时候,保持屏幕常开状态;否则,关闭屏幕常开功能(屏幕会自动关闭)。
ShowMessage
ShowMessage 提示信息
在屏幕上显示提示信息,此信息将会维持一定时间后自动消失。
如果提示信息不是字符串类型,会自动转换为字符串类型进行显示。
Swipe               
Swipe 点1的横坐标, 点1的纵坐标, 点2的横坐标, 点2的纵坐标
模拟手指在屏幕上的划动操作。从点1滑动到点2。
Dim                移动版必须要声明变量才能使用。(PC按键无需声明)
Dim 变量1, 变量2 …
定义一个或多个变量。
TouchDown
TouchDown 横坐标,纵坐标
按下屏幕上指定位置的点(横坐标,纵坐标)
TouchMove
TouchMove 横坐标,纵坐标
模拟滑动操作,将按下的点滑动至屏幕上的指定的位置(横坐标,纵坐标),滑动前需要先调用前需要先调用touchDown函数。
TouchUp
TouchUp
弹起touchDown函数按下的点,一般与touchDown函数匹配使用。
[size=0.83em]

版权声明:本文为Mwsoft原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Mwsoft/p/3939743.html