運算符
變量和常量之間采用運算符連接后,稱為表達式。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的效果,也就是說,后續的找圖、找色、取色每次都會重新截圖
|
|||||||||||||||||||||
![]() |