[KeyPress]
格式：KeyPress {键盘虚拟码},{次数} 
解释：先“按下”再“弹起”键，模拟我们平时的“按键”操作
我们在使用键盘的时候有两种操作，,一种是“按下”键，一种是“弹起”键
将这两个动作连续进行，就是一个完整的“按键”动作。按键精灵可以模拟所有的键盘动作。

[KeyDown]
格式：KeyDown {键盘虚拟码},{次数} 
解释：“按下”键，模拟我们平时的“按下”操作
注意：有些键在按下之后，会和其他键产生组合效果，比如“Alt/Ctrl/Shift”，
如果使用“按下Alt”命令，那么之后的“按键”动作将变成“Alt+A”等组合动作，
因此记得在必要时使用“弹起”命令将组合键释放，避免影响键盘的正常使用。

[KeyUp]
格式：KeyUp {键盘虚拟码},{次数} 
解释：“弹起”键，模拟我们平时的“弹起”操作

[KeyPressH] 
格式：KeyPressH {键盘虚拟码},{次数} 
解释：模拟按键，与KeyPress功能类似，先“按下”再“弹起”键，但采取了硬件模拟的方式，
在某些情况下普通模拟按键命令会失效，不妨试试硬件模拟命令。

[KeyDownH] 
格式：KeyDownH {键盘虚拟码},{次数} 
解释：模拟按下，与KeyDown功能类似，“按下”键，但采取了硬件模拟的方式，
在某些情况下普通模拟按键命令会失效，不妨试试硬件模拟命令。

[KeyUpH]
格式：KeyUpH {键盘虚拟码},{次数} 
解释：模拟弹起，与KeyUp功能类似，“弹起”键，但采取了硬件模拟的方式，
在某些情况下普通模拟按键命令会失效，不妨试试硬件模拟命令。

[KeyPressS] 
格式：KeyPressS {键盘虚拟码},{次数} 
解释：模拟按键，与KeyPress功能类似，先“按下”再“弹起”键，但采取了新的超级模拟方式，
在某些情况下普通模拟按键命令会失效，不妨试试超级模拟命令。

[KeyDownS] 
格式：KeyDownS {键盘虚拟码},{次数} 
解释：模拟按下，与KeyDown功能类似,“按下”键，但采取了新的超级模拟方式，
在某些情况下普通模拟按键命令会失效，不妨试试超级模拟命令。

[KeyUpS]
格式：KeyUpS {键盘虚拟码},{次数} 
解释：模拟弹起，与KeyUp功能类似，“弹起”键，但采取了新的超级模拟方式，
在某些情况下普通模拟按键命令会失效，不妨试试超级模拟命令。

[WaitKey]
格式：{变量名} = WaitKey  （注意这里是“变量名”不是“表达式”）
解释：脚本运行到此句之后暂停，等待用户按键，用户按键之后，将按键结果保存到变量当中。

[GetLastKey]
格式：{变量名} = GetLastKey  （注意这里是“变量名”不是“表达式”）
解释：脚本运行到此句之后不暂停，将上次用户按键的结果保存到变量当中。

[LeftClick]
格式：LeftClick {次数}
解释：在鼠标当前位置模拟点击鼠标左键。{次数}可以控制点击的次数。

[RightClick]
格式：RightClick {次数}
解释：在鼠标当前位置模拟点击鼠标右键。

[MiddleClick]
格式：MiddleClick {次数}
解释：在鼠标当前位置模拟点击鼠标中键。

[LeftDoubleClick]
格式：LeftDoubleClick {次数}
解释：在鼠标当前位置模拟双击鼠标左键。

[LeftDown]
格式：LeftDown {次数}
解释：在鼠标当前位置模拟按下鼠标左键，{次数}在这个语句中虽然有效，但没有实际意义。

[LeftUp]
格式：LeftUp {次数}
解释：在鼠标当前位置模拟松开鼠标左键，{次数}在这个语句中虽然有效，但没有实际意义。

[RightDown]
格式：RightDown {次数}
解释：在鼠标当前位置模拟按下鼠标右键，{次数}在这个语句中虽然有效，但没有实际意义。

[RightUp]
格式：RightUp {次数}
解释：在鼠标当前位置模拟松开鼠标右键，{次数}在这个语句中虽然有效，但没有实际意义。

[LeftClickH]
格式：LeftClickH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟点击鼠标左键。{次数}可以控制点击的次数，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[RightClickH]
格式：RightClickH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟点击鼠标右键，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[MiddleClickH]
格式：MiddleClickH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟点击鼠标中键，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[LeftDoubleClickH]
格式：LeftDoubleClickH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟双击鼠标左键，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[LeftDownH]
格式：LeftDownH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟按下鼠标左键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[LeftUpH]
格式：LeftUpH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟松开鼠标左键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[RightDownH]
格式：RightDownH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟按下鼠标右键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[RightUpH]
格式：RightUpH {次数}
解释：使用硬件模拟方式，在鼠标当前位置模拟松开鼠标右键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[LeftClickS]
格式：LeftClickS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟点击鼠标左键。{次数}可以控制点击的次数，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[RightClickS]
格式：RightClickS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟点击鼠标右键，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[MiddleClickS]
格式：MiddleClickS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟点击鼠标中键，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[LeftDoubleClickS]
格式：LeftDoubleClickS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟双击鼠标左键，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[LeftDownS]
格式：LeftDownS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟按下鼠标左键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[LeftUpS]
格式：LeftUpS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟松开鼠标左键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[RightDownS]
格式：RightDownS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟按下鼠标右键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[RightUpS]
格式：RightUpS {次数}
解释：使用超级模拟方式，在鼠标当前位置模拟松开鼠标右键，{次数}在这个语句中虽然有效，但没有实际意义，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[MoveTo]
格式：MoveTo {X坐标},{Y坐标}
解释：移动鼠标到(X坐标,Y坐标)处
举例：
MoveTo 100,200
把鼠标移动到(100,200)这个点上
MoveTo intX,intY
把鼠标移动到(intX,intY)这个点上，需要5.50以上版本支持。

[MoveR]
格式：MoveR {X偏移距离},{Y偏移距离}
解释：把鼠标相对移动(X偏移距离,Y偏移距离)
举例：
当前鼠标在(100,100)点，使用下面语句
MoveR 200,300
之后,鼠标就被移到了(100+200,100+300)处，也就是坐标(300,400)处。

[MouseWheel]
格式：MouseWheel {滚动量}
解释：滚动鼠标滚轮。如果滚动量为正，向上滚动；否则向下滚动，
仅支持Windows 2000以上的操作系统。
举例：
MouseWheel 1
把鼠标滚轮向上滚动1格。

[MoveToH]
格式：MoveToH {X坐标},{Y坐标}
解释：移动鼠标到(X坐标,Y坐标)处，类似于MoveTo，但采用了硬件模拟的方式，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[MoveRH]
格式：MoveRH {X偏移距离},{Y偏移距离}
解释：把鼠标相对移动(X偏移距离,Y偏移距离)，类似于MoveR，但采用了硬件模拟的方式，
在某些情况下普通模拟鼠标命令会失效，不妨试试硬件模拟命令。

[MoveToS]
格式：MoveToS {X坐标},{Y坐标}
解释：移动鼠标到(X坐标,Y坐标)处，类似于MoveTo，但采用了超级模拟的方式，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[MoveRS]
格式：MoveRS {X偏移距离},{Y偏移距离}
解释：把鼠标相对移动(X偏移距离,Y偏移距离)，类似于MoveR，但采用了超级模拟的方式，
在某些情况下普通模拟鼠标命令会失效，不妨试试超级模拟命令。

[SaveMousePos]
格式：SaveMousePos
解释：保存当前鼠标位置。

[RestoreMousePos]
格式：RestoreMousePos
解释：将鼠标移动到上一次保存的鼠标位置。
举例：保存/恢复鼠标位置常用于制作网络游戏练功脚本，脚本开始时保存鼠标位置，脚本结束时恢复鼠标位置，
这样脚本执行后鼠标的位置就不会变化。

[LockMouse]
格式：LockMouse
解释：锁定鼠标位置，用户将不能通过移动鼠标而改变鼠标位置，而脚本仍可以改变鼠标位置。
举例：在脚本开始的时候使用这个命令，可以有效防止用户误触鼠标引起脚本执行出错。

[UnlockMouse]
格式：UnlockMouse
解释：解除LockMouse命令对鼠标位置的锁定。如果用户使用了LockMouse命令而没有使用UnlockMouse命令，
按键精灵会在脚本结束时自动解除锁定。

[WaitClick]
格式：{变量名} = WaitClick （注意这里是“变量名”不是“表达式”）
解释：脚本执行到这一句暂停，按下任意鼠标键之后继续，按下的鼠标键将被记录在变量之中。
举例：last_click=WaitClick()
MessageBox "您按下了" & last_click

[GetLastClick]
格式：{变量名} = GetLastClick （注意这里是“变量名”不是“表达式”）
解释：检测上一次按下的鼠标代码，不影响脚本执行的流程。

[GetCursorPos]
格式：Call GetCursorPos(返回屏幕x坐标,返回屏幕y坐标)
解释：得到当前鼠标所在的位置坐标。

[GetCursorShape]
格式：{变量名} = GetCursorShape({形状特征码方式})
解释：得到当前鼠标的形状特征。

[If]
格式：
If {表达式} Then
…
ElseIf {表达式} Then
…
Else
…
End If
解释：判断表达式抓点颜色并执行语句－－通过判断表达式的取值，来执行后面的动作或控制。

[IfColor]
格式：
IfColor {X坐标},{Y坐标},{颜色},{判断条件(0：等于 1：不等于 2：近似等于)} Then
…
Else
…
End If
解释：判断颜色并执行语句－－通过判断屏幕x,y坐标的某点的颜色，是等于、不等于、还是近似某颜色，来执行后面的动作或控制。

[Else]
格式：
If {表达式} Then
…
ElseIf {表达式} Then
…
Else
…
End If 
或者
IfColor {X坐标},{Y坐标},{颜色},{判断条件(0：等于 1：不等于 2：近似等于)} Then
…
Else
…
End If
解释：和If或IfColor语句结合，进行高级语言的条件判断。

[ElseIf]
格式：
If {表达式} Then
…
ElseIf {表达式} Then
…
ElseIf {表达式} Then
…
Else
…
End If
解释：和If或IfColor语句结合，进行高级语言的条件判断。

[Then]
格式：If {表达式} Then
解释：和If、IfColor、ElseIf语句结合，进行高级语言的条件判断。

[While]
格式：
While {循环条件}
…
Wend
解释：循环语句－－当循环条件成立的时候，反复执行循环体。

[Wend]
格式：
While {循环条件}
…
Wend
解释：和While一起构成循环语句。

[For]
格式：
For {循环次数}
…
Next
解释：循环语句－－循环一定次数。

[Next]
格式：
For {循环次数}
…
Next
解释：和For一起构成循环语句。

[Select]
格式：
Select Case {变量名}   
Case {情况1}
…
Case {情况2}
…
Case Else
…
End Select 
解释：根据情况选择条件判断。

[Case]
格式：
Select Case {变量名}   
Case {情况}
…
Case Else
…
End Select 
解释：根据情况选择条件判断。

[Do]
格式：
Do While {表达式}
…
Loop
或者
Do Until {表达式}
…
Loop
解释：条件循环。

[Loop]
格式：
Do While {表达式}
…
Loop
或者
Do Until {表达式}
…
Loop
解释：条件循环。

[Until]
格式：
Do Until {表达式}
…
Loop
解释：条件循环。

[Rem]
格式：Rem {文字}
解释：标记命令。即可当注释，也可以为Goto跳转指令作标记。

[Goto]
格式：Goto {标号}
解释：跳转语句，可以跳转到Rem标记过的标记处继续执行。

[Sub]
格式：
Sub {过程名}
…
End Sub
解释：定义一个过程，可以在脚本中调用这个过程。

[Function]
格式：
Function {函数过程名}
…
End Function
解释：定义一个函数过程，可以在脚本中调用这个函数。

[Event]
格式：
Event {窗体名.控件名.事件名}
或
Event {窗体名.事件名}
…
End Event
解释：定义一个事件处理过程，该过程会在相应的事件发生时，自动被调用。


[Call]
格式：
Call {函数或者过程名}
解释：调用函数或者过程。

[End If]
解释：用于配对结束 If 条件判断。

[End Select]
解释：用于配对结束 Select Case 选择情况判断。

[End Sub]
解释：用于配对结束 Sub 子程序过程。

[End Function]
解释：用于配对结束 Function 函数过程。

[End Event]
解释：用于配对结束 Event 事件处理过程。

[End]
格式：End {关键字配对}
解释：
End If       用于配对结束 If 条件判断。
End Select   用于配对结束 Select Case 选择情况判断。
End Sub      用于配对结束 Sub 子程序过程。
End Function 用于配对结束 Function 函数过程。
End Event    用于配对结束 Event 事件处理过程。
End With     用于配对结束 With 对象结构。

[Exit Do]
解释：用于配对退出 Do 循环。

[Exit For]
解释：用于配对退出 For 循环。

[Exit Sub]
解释：用于配对退出 Sub 子程序过程。

[Exit Function]
解释：用于配对退出 Function 函数过程。

[Exit Event]
解释：用于配对退出 Event 事件处理过程。

[Exit]
格式：Exit {关键字配对}
解释：
Exit Do       用于配对退出 Do 循环。
Exit For      用于配对退出 For 循环。
Exit Sub      用于配对退出 Sub 子程序过程。
Exit Function 用于配对退出 Function 函数过程。
Exit Event    用于配对退出 Event 函数过程。

[EndScript]
格式：EndScript
解释：强制结束脚本的执行。

[GetPixelColor]
格式：{变量名} = GetPixelColor(屏幕X坐标,屏幕Y坐标)
解释：得到指定位置的点的颜色。

[FindColor]
格式：Call FindColor(屏幕左上角x坐标,屏幕左上角y坐标,屏幕右下角x坐标,屏幕右下角y坐标,16进制颜色值,返回x坐标,返回y坐标)
解释：在屏幕区域从左到右、从上到下的查找指定的颜色。

[FindColorEx]
格式：Call FindColorEx(屏幕左上角x坐标,屏幕左上角y坐标,屏幕右下角x坐标,屏幕右下角y坐标,16进制颜色值,查找方式,相似度,返回x坐标,返回y坐标)
解释：在屏幕区域模糊查找指定的颜色。

[FindCenterColor]
格式：Call FindCenterColor(屏幕左上角x坐标,屏幕左上角y坐标,屏幕右下角x坐标,屏幕右下角y坐标,16进制颜色值,返回x坐标,返回y坐标)
解释：在屏幕区域从中心开始查找指定的颜色。

[FindPic]
格式：Call FindPic(屏幕左上角x坐标,屏幕左上角y坐标,屏幕右下角x坐标,屏幕右下角y坐标,bmp格式图片路径,相似度,返回x坐标,返回y坐标)
解释：在屏幕区域查找指定相似度的图片。

[Dim]
格式：Dim {变量名}
解释：定义一个变量。

[ReDim]
格式：ReDim {数组变量名}
解释：重定义一个数组变量下标。
举例：
Dim a()
i=0
ReDim a(i)
a(0)=1
MsgBox a(0)

[Preserve]
解释：当数组被ReDim时，如果参数中有Preserve，已赋值的元素会被保护，值不会变。
举例：
Dim a()
ReDim a(0)
a(0)=1
ReDim Preserve a(2)
MsgBox a(0)
可以发现a(0)的值不会变空。

[Global]
格式：Global {变量名}
解释：定义一个全局变量，主要用于多线程之间传值。

[UBound]
解释：返回指定数组维数的最大可用下标。

[True]
解释：用于设置一个布尔型的值为真。

[False]
解释：用于设置一个布尔型的值为假。

[Randomize]
解释：初始化随机数生成器。

[Replace]
解释：其中指定数目的某子字符串被替换为另一个子字符串。
举例：
i="我爱你按键精灵"
i = Replace(i, "你", "")
MsgBox i
运行可以看到“你”字被替换为空。

[Delay]
格式：Delay {延时}
解释：脚本暂停执行一段时间。{延时}里面填写“毫秒”数。
1秒＝1000毫秒
1分钟＝60000毫秒
1小时＝3600000毫秒

[MessageBox]
格式：MessageBox {文字}
解释：简单的弹出一个窗口，显示一段文字。

[MsgBox]
格式：MsgBox {文字},{样式},{标题}
解释：在对话框中显示文字消息，等待用户单击按钮，并返回一个值指示用户单击的按钮。
举例：MsgBox "弹出对话框内容",3,"提示："

[SayString]
格式：SayString {文字}
解释：在当前窗口输入文字。
举例：SayString "你好啊"

[VBSBegin]
格式：
VBSBegin
…
VBSEnd
解释：构成一个VBScript块。
在VBScript块中可以使用任何VBScript语句（包括VBScript的条件判断、子程序调用等等），也可以使用大多数的按键精灵命令。

[VBSEnd]
格式：
VBSBegin
…
VBSEnd
解释：构成一个VBScript块。
在VBScript块中可以使用任何VBScript语句（包括VBScript的条件判断、子程序调用等等），也可以使用大多数的按键精灵命令。

[UserVar]
用于支持用户设置脚本参数。
标准型自定义变量
格式：UserVar {变量}={默认值} {注释}
解释：这个命令主要用于用户自定义的设置功能。
举例：
UserVar var1=30 "当HP＜多少％时，使用红药"
UserVar var2=30 "当MP＜多少％时，使用蓝药"
当用户使用这个脚本的时候，可以对这var1和var2这两个变量的取值进行设置。
下拉型自定义变量
格式：UserVar 变量=DropList{"选项0"："值0"|"选项1"："值1"|"选项2"："值2"}=默认显示的选项编号 {"注释"}
解释：这个命令预先设定多个变量值，用户可在基面通过下拉方式进行选择
举例：
UserVar Var1=DropList{"低于10%时补血"：0.1|"低于20%时补血"：0.2|"低于30%时补血"：0.3}=2 "自动补血设置"
特别提醒：默认显示的选项编号从0开始。

[PutAttachment]
格式：PutAttachment {路径},{要释放的文件}
解释：把当前脚本包含的附件展开到指定的路径下。<路径>是指定的相对路径或者绝对路径。
如果省略<路径>或者<路径>为 . ，则默认展开到按键精灵所在的文件夹中，
可以指定要释放的文件，允许使用通配符，如 *.bmp。如果不指定要释放的文件，则默认释放所有文件。
举例：
PutAttachment "C：\","*.bmp"
所有bmp文件释放到C盘

[Import]
格式：Import {vbs文件}
或 Import {插件dll文件}
解释：导入一个vbs文件或者插件dll文件。当文件被导入后，里面的函数可以直接被调用，不需要使用（Plugin.）命令，
在VBScript块中需要调用vbs文件或者插件中的函数时，必须采用这种方式，不能使用（Plugin.）命令。
举例：
Import "Color.dll"
MsgBox Color.GetRGB(255, 0, 0)

[TracePrint]
格式：TracePrint {要输出的信息}
解释：如果脚本在按键精灵的调试状态下运行，这行命令会把要输出的信息（可以包含变量）发送到调试框，
如果脚本不在调试状态下运行，这行命令没有任何作用。

[SetSimMode]
格式：SetSimMode {模拟方式}
解释：设置鼠标、键盘的模拟方式。当模拟方式设为1时，所有的普通模拟都自动变为硬件模拟；当模拟方式设为2时，所有的普通模拟都自动变为超级模拟，
当模拟方式设为0时，将变回普通模拟。

[Beep]
解释：主板蜂鸣器响一声。

[RunApp]
格式：Call RunApp(要运行的程序或者文件路径)
解释：启动一个程序或者打开一个文件。

[Plugin]
格式：Plugin.{插件名}.{插件函数}
解释：调用一个外部插件提供的函数。我们将逐渐制作多种复杂功能的插件并随按键精灵最新版本提供。

[Lib]
格式：Lib.{命令库名}.{命令库函数}
解释：调用一个命令库提供的函数。我们将逐渐制作多种复杂功能的命令库并随按键精灵最新版本提供。

[LogStart]
格式：LogStart {日志文件名}
解释：将脚本运行的日志信息保存在指定的文件中，以便作者调试检查。
举例：LogStart "C:\日志.log"

[LogStop]
格式：LogStop
解释：停止记录脚本日志，用于配对结束LogStart。

[ExitScript]
格式：ExitScript
解释：退出当前脚本的执行，包含所有子线程。

[RestartScript]
格式：RestartScript
解释：退出当前脚本的执行，包含所有子线程，并重新启动执行。

[DimEnv]
备注：用于多线程功能，不推荐新手使用。

[BeginThread]
格式：{返回线程ID} = BeginThread(过程名)
解释：启动某个线程。
备注：用于多线程功能，不推荐新手使用。

[StopThread]
格式：StopThread {线程ID}
解释：停止某个线程。
备注：用于多线程功能，不推荐新手使用。

[PauseThread]
格式：PauseThread {线程ID}
解释：暂停某个线程。
备注：用于多线程功能，不推荐新手使用。

[ContinueThread]
格式：ContinueThread {线程ID}
解释：继续某个线程。
备注：用于多线程功能，不推荐新手使用。

[GetThreadID]
格式：{线程ID} = GetThreadID()
解释：得到当前线程ID。
备注：用于多线程功能，不推荐新手使用。


