脚本精灵函数说明
- 格式:docx
- 大小:595.47 KB
- 文档页数:95
//~~~~~~~~~~{[做后台的准备]}~~~~~~~~~~~//下面,用标题名来找父窗口Hwnd = Plugin.Window.Find(0, "无标题- 记事本")//下面,根据父窗口来找子窗口(找对了标题名才有效)HwndEx = Plugin.Window.FindEx(Hwnd, 0, 0, 0)//下面,用程序名来找父窗口Hwnd = Plugin.Window.Find("Notepad", 0)//下面,根据父窗口来找子窗口(找对了类名才有效)Hwnd = Plugin.Window.FindEx(Hwnd, 0, "Edit", 0)//~~~(也可以改指定程序的标题名来得来句柄)~~~//下面,将指定程序名的标题名变为变量Hwnd = Plugin.Window.Find("Notepad", 0)//改变窗口标题Call Plugin.Window.SetText(Hwnd,"AJJL")//*********》之后可加第一种父子窗口就OK了《*********//~~~如果以上都不行,只剩下最后一种方法~~~~//下面,鼠标指向的程序定为Hwnd这个变量(不过一定要加标记,否则变为假后台)hwnd=Plugin.Window.MousePoint()Rem starGoto star//区域模糊找色//(XY,是坐标)(后面的是句柄,左X,上Y,右X,下Y,16位颜色,找的方式,相似度)XY = Plugin.Bkgnd.FindColorEx(Hwnd, 0, 0, 20, 20, "FFFFFF", 0, 0.9)//将XY坐标变为变量,再折分成X坐标和Y坐标。
MyArray = Split(XY, "|")X = Clng(MyArray(0)): Y = Clng(MyArray(1))//后台判色Color = Plugin.Bkgnd.GetPixelColor(hwndex,300,150)If color = "020503" Then//根据固定32位地址的值加红蓝(HP少于就。
按键精灵脚本开发教程:随机数写法来源:按键学院【按键精灵】小编今天要分享三种随机数不重复的方法 ~快来围观~常规方法将随机到的数字放到数组里,然后每次随机产生的数字都和数组里已有的数字进行比较,如果有重复的则重新生成。
代码:(生成10个范围在10以内的随机数)Dim TmpDat(10)For i = 0 To 9RandomizeTmpRnd = Int(rnd * 10)For j = 0 To i - 1If TmpDat(j)=TmpRnd Theni = i - 1 : TmpBol = TRUEEnd IfNextIf TmpBol Then TmpBol = False Else TmpDat(i) = TmpRnd : TracePrint TmpRndNext分析:1、Dim TmpDat(10) //例如,需要产生10个不重复的数字,则定义数组,数组元素个数为102、For i = 0 To 9//由于数组的最小下标是从0开始的,所以循环从0开始到9,循环10次3、Randomize //随机函数初始化4、TmpRnd = Int(rnd * 10) //我们生成0-10范围内的数字,便于查看效果5、For j = 0 To i - 1 //再做一次循环,将当前生成的随机数与前面生成的随机数一一进行比较。
例如:i=5,说明之前已经执行过5次,数组TmpDat里已经有了5个元素,它们的下标从0-4 。
当我们想要查看当前随机到的数字有没有重复,就需要和前面的产生的随机数进行比较。
所以从0循环到i-1 ( i 自身就不需要和自身比了,所以这里需要减1,排除自身)。
6、If TmpDat(j)=TmpRnd Then//如果生成的随机数在数组里已经存在i = i - 1 : TmpBol = TRUE//则i的值减去1,并且做一个标记,tmpbol设置为true End If7、If TmpBol Then TmpBol = False Else TmpDat(i) = TmpRnd : TracePrint TmpRnd //如果TmpBol 是真的,说明随机数字重复了,不做赋值判断,将tmpbol的赋值假。
脚本精灵UI函数(二):UI函数列表、参数、返回值介绍及示例界面函数通用参数介绍[name]参数为控件的名称,在设置控件或者使用控件获得的值得时候需要用到。
脚本开始执行后会自动创建一个name指定的名称的全局变量,该变量即为控件所设置的值。
[width]参数为文本框的宽度,可不填,默认占满一行。
[height]参数为文本框的高度,可不填,默认为字的高度。
相关全局变量[DEFAULT_WINDOW_NAME]为脚本界面主窗口名称。
[WRAP_CONTENT] 变量值为-2,表示根据内容变化,用于表示宽或者高。
[MATCH_PARENT]变量值为-1,表示控件占满整行,用于表示宽或者高。
[EDIT_TYPE_NUMBER]变量为文本编辑框的数字编辑类型,文本编辑框设置该类型后输入法只能输入数字。
[EDIT_TYPE_TEXT]变量为文本编辑框的多行文本编辑类型,文本编辑框设置该类型后可任意输入。
[EDIT_TYPE_LINE]变量为文本编辑框的单行文本编辑类型,文本编辑框设置该类型后可任意输入。
[EDIT_TYPE_PASSWORD]变量为文本编辑框的密码编辑框类型,文本编辑框设置该类型后输入的内容不可见。
创建静态文本框函数原型:createTextView(name,text,width,height)功能:创建一个静态文本框,用于显示文字,不可编辑,无边框。
参数1:name为控件的名称,静态文本框的值一般不需要用到,这个可以随意命名参数2:text要显示的文本信息参数3:width为文本框的宽度,可不填,默认占满一行。
参数4:height为文本框的高度,可不填,默认为字的高度。
示例:1.function createUI()2. createTextView("UI_static","QQ:411324287")3.end4.5.function main()6.7.end复制代码创建文本编辑框函数原型:createEditText(name,text,type,width,height)功能:创建一个可编辑的文本框,可用于输入文本、数字、密码等。
脚本精灵UI函数(一):UI函数的作用以及使用规范说明UI函数用于绘制用户界面,用户可以与脚本进行交互,在脚本需要动态配置的时候非常有用。
比如天天爱消除脚本的间隔时间,这个间隔根据设备性能的不同设置可能不一样。
按照以前的方式就需要改脚本,改脚本比较麻烦,而且需要开源脚本。
如果使用UI函数,就可以在脚本精灵上面创建一个数字输入框,直接让用户输入测试知道何时为止即可。
用一些用户的话说就是:可以给脚本传参、可以不修改脚本给脚本配置、可以动态让用户输入内容。
脚本结构要创建UI,在脚本就就需要实现createUI()函数,所有UI函数只能在createUI()中或者UI 事件中调用。
另外,从脚本精灵2.0.1开始,脚本入口改为main(),即脚本从main()函数正式开始执行。
综上所述,一个带界面的脚本必须有main()和createUI()函数,不带界面的脚本必须要有main()函数。
函数之外尽量少写代码,函数外面可以定义全局变量。
脚本结构示例:1.--界面入口2.function createUI()3.4.end5.6.--脚本入口7.function main()8.9.end脚本界面显示脚本界面的显示时机有两个:一个是在加载脚本时显示,这种方式界面只显示一次,配置好载入后,点击播放即可直接播放,如果需要重新配置脚本需要重新加载脚本。
另一个是在播放脚本前显示,这种方式在每次点击悬浮控制条上的播放时都会显示。
默认为加载脚本时显示,在设置->程序配置->脚本界面显示设置中可以设置显示时机。
脚本兼容如果想要脚本同时兼容2.0.1以下的版本可以使用getScriptElfVersion()函数来判断。
示例:1.--界面入口2.function createUI()3.4.end5.6.--脚本入口7.function main()8.9.end10.11.if getScriptElfVersion() < 201 then12. main()13.end。
按键精灵基本函数
函数
在脚本中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用这就是脚本中的函数。
它和子程序类似,唯一不同的是函数可以有返回值,而子程序没有。
格式:
Function 函数名(形参1...)
//脚本代码
End Function
函数的定义也是跟子程序类似的,函数关键字+ 函数名+ (形参1...)。
和子程序所不同的是函数支持返回值,那如何返回呢?我们先看一个例子:
A=1
TracePrint "A=" & A
TracePrint "B=" & B
TracePrint "函数的返回值=" & 函数(A)
Function 函数(B)
函数=B
End Function
从这个例子的第6行,我们看到了“函数=B ”,这句就是给函数赋值的语句,也是给函数做返回值用的。
所以当执行的时候你会看到弹窗口,上面显示的内容是“1”。
这是因为当函数执行结束后我们把参数a的值赋值给了“函数过程”。
所以这时候弹出来是有值的。
这跟上一章的子程序是不一样的,上一章变量B的值当子程序结束后是无法获取的。
//~~~~~~~~~~{[做后台的准备]}~~~~~~~~~~~//下面,用标题名来找父窗口Hwnd = Plugin.Window.Find(0, "无标题- 记事本")//下面,根据父窗口来找子窗口(找对了标题名才有效)HwndEx = Plugin.Window.FindEx(Hwnd, 0, 0, 0)//下面,用程序名来找父窗口Hwnd = Plugin.Window.Find("Notepad", 0)//下面,根据父窗口来找子窗口(找对了类名才有效)Hwnd = Plugin.Window.FindEx(Hwnd, 0, "Edit", 0)//~~~(也可以改指定程序的标题名来得来句柄)~~~//下面,将指定程序名的标题名变为变量Hwnd = Plugin.Window.Find("Notepad", 0)//改变窗口标题Call Plugin.Window.SetText(Hwnd,"AJJL")//*********》之后可加第一种父子窗口就OK了《*********//~~~如果以上都不行,只剩下最后一种方法~~~~//下面,鼠标指向的程序定为Hwnd这个变量(不过一定要加标记,否则变为假后台)hwnd=Plugin.Window.MousePoint()Rem starGoto star//区域模糊找色//(XY,是坐标)(后面的是句柄,左X,上Y,右X,下Y,16位颜色,找的方式,相似度)XY = Plugin.Bkgnd.FindColorEx(Hwnd, 0, 0, 20, 20, "FFFFFF", 0, 0.9)//将XY坐标变为变量,再折分成X坐标和Y坐标。
MyArray = Split(XY, "|")X = Clng(MyArray(0)): Y = Clng(MyArray(1))//后台判色Color = Plugin.Bkgnd.GetPixelColor(hwndex,300,150)If color = "020503" Then//根据固定32位地址的值加红蓝(HP少于就。
<?xml version="1.0" encoding="gb2312" ?>-<Command desc="脚本精灵命令库1.0.2版" icon="001">- <![CDATA[欢迎您使用脚本精灵命令库!这里包含了脚本精灵官方目前支持的所有命令,每个命令都有尽可能详细的帮助和例子,希望能对您开发脚本提供帮助。
介绍一些小技巧:<br>1. 选中命令可以看到这个命令的帮助 <br>2. 某些命令可以直接插入到代码里 <br>3. 双击命令可以插入代码。
]]>-<fileintroduction>- <![CDATA[按键命令库有2个功能:显示命令帮助和插入命令。
脚本精灵命令库有3种不同类型的命令:自产命令(包括按键VBS命令)、VBS标准命令、插件命令。
这几种命令的属性有一些区别,包括1、VBS标准命令是读取外部的HTML帮助文件,而其他2种命令是读取CDATA区的帮助信息2、插件命令点插入之后还要包括插件的名字,例如在Windows->Max命令上点插入,那么插入的应该是Windows.Max()。
这个区别意味着如果要支持插入,那么需要单独开辟一个属性来包含插入的内容。
脚本精灵命令库XML节点属性说明:1、节点名:Command2、desc:节点显示的文字3、icon:节点的图标索引4、insertinfo:插入的信息,是一个完整的命令,例如:返回值:用户输入的文字=InputBox(提示用户的内容:字符串)5、helpfile:帮助信息对应的HTML文件名6、CDATA区:如果没有HelpFile字段,则尝试读取CDATA区作为帮助信息]]></fileintroduction>-<Command desc="脚本精灵基本命令" icon="001">- <![CDATA[脚本精灵基本命令是脚本精灵的核心,主要包括键盘鼠标模拟、基本逻辑判断、核心功能命令等关键命令,具有使用简单、效率高的特点,通常是您编写脚本的必备功能]]>-<Command desc="键盘命令" icon="001"><Command desc="KeyPress 按键" icon="002"insertdialog="ScriptE_V102.KeyPress" insertinfo="KeyPress 键盘字符,次数"funcinfo="KeyPress 键盘字符,次数" helpfile="qm.KeyPress" /> <Command desc="KeyDown 按下" icon="002"insertdialog="ScriptE_V102.KeyPress" insertinfo="KeyDown 键盘字符"funcinfo="KeyDown 键盘字符" helpfile="qm.KeyDown" /><Command desc="KeyUp 弹起" icon="002"insertdialog="ScriptE_V102.KeyPress" insertinfo="KeyUp 键盘字符"funcinfo="KeyUp 键盘字符" helpfile="qm.KeyUp" /><Command desc="KeyGroup 键盘组合键" icon="002"insertdialog="ScriptE_V102.KeyGroup" insertinfo="KeyGroup 键盘组合键"funcinfo="KeyGroup 键盘组合键" helpfile="qm.KeyGroup" /> <Command desc="WaitKey 等待按任意键" icon="002"insertdialog="ScriptE_V102.WaitKey" insertinfo="WaitKey 变量名"funcinfo="WaitKey 变量名" helpfile="qm.WaitKey" /></Command>-<Command desc="鼠标命令" icon="001"><Command desc="LeftClick 左键单击" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="LeftClick 次数" funcinfo="LeftClick 次数"helpfile="qm.LeftClick" /><Command desc="LeftDown 左键按下" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="LeftDown" funcinfo="LeftDown"helpfile="qm.LeftDown" /><Command desc="LeftUp 左键弹起" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="LeftUp" funcinfo="LeftUp" helpfile="qm.LeftUp" /> <Command desc="RightClick 右键单击" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="RightClick 次数" funcinfo="RightClick 次数"helpfile="qm.RightClick" /><Command desc="RightDown 右键按下" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="RightDown" funcinfo="RightDown"helpfile="qm.RightDown" /><Command desc="RightUp 右键弹起" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="RightUp" funcinfo="RightUp" helpfile="qm.RightUp" /> <Command desc="MiddleClick 中键单击" insertdialog="ScriptE_V102.Click"icon="002" insertinfo="MiddleClick 次数" funcinfo="MiddleClick 次数"helpfile="qm.MiddleClick" /><Command desc="MoveTo 鼠标移动" insertdialog="ScriptE_V102.MoveTo"icon="002" insertinfo="MoveTo X坐标,Y坐标" funcinfo="MoveTo X坐标,Y坐标"helpfile="qm.MoveTo" /><Command desc="MoveR 鼠标相对移动" insertdialog="ScriptE_V102.MoveR"icon="002" insertinfo="MoveR X距离,Y距离" funcinfo="MoveR X距离,Y距离"helpfile="qm.MoveR" /><Command desc="MouseWheel 鼠标滚轮"insertdialog="ScriptE_V102.MouseWheel" icon="002"insertinfo="MouseWheel 次数" funcinfo="MouseWheel 次数"helpfile="qm.MouseWheel" /><Command desc="LockMouse 锁定鼠标位置"insertdialog="ScriptE_V102.LockMouse" icon="002" insertinfo="LockMouse"funcinfo="LockMouse" helpfile="qm.LockMouse" /><Command desc="UnlockMouse 解除鼠标锁定"insertdialog="ScriptE_V102.LockMouse" icon="002"insertinfo="UnlockMouse" funcinfo="UnlockMouse"helpfile="qm.UnlockMouse" /><Command desc="WaitClick 按任意鼠标键继续"insertdialog="ScriptE_V102.WaitClick" icon="002" insertinfo="WaitClick 变量名" funcinfo="WaitClick 变量名" helpfile="qm.WaitClick" /><Command desc="GetMousePos 得到鼠标位置坐标"insertdialog="ScriptE_V102.GetMousePos" icon="002"insertinfo="GetMousePos x坐标,y坐标" funcinfo="GetMousePos x坐标,y坐标"helpfile="qm.GetMousePos" /><Command desc="GetMouseCode 得到鼠标形状"insertdialog="ScriptE_V102.GetMouseCode" icon="003"insertinfo="shape=GetMouseCode()" funcinfo="GetMouseCode"helpfile="qm.GetMouseCode" /></Command>-<Command desc="控制命令" icon="001"><Command desc="For 循环" insertdialog="ScriptE_V102.for" icon="002"helpfile="qm.for" /><Command desc="If 如果..则" insertdialog="ScriptE_V102.If" icon="002"helpfile="qm.If" /><Command desc="Do 如果..则循环" insertdialog="ScriptE_V102.If" icon="002"helpfile="qm.Do" /><Command desc="Goto 跳转到标记" insertdialog="ScriptE_V102.Goto"icon="002" insertinfo="Goto 标号" helpfile="qm.Goto" /><Command desc="Gosub 调用子程序" insertdialog="ScriptE_V102.Goto"icon="002" insertinfo="Gosub 过程名" helpfile="qm.Gosub" /> <Command desc="Rem 标记/注释" insertdialog="ScriptE_V102.Rem" icon="002"insertinfo="Rem 文字" helpfile="qm.Rem" /><Command desc="Sub 子程序" insertdialog="ScriptE_V102.Rem" icon="002"helpfile="qm.Sub" /><Command desc="EndScript 脚本停止运行"insertdialog="ScriptE_V102.EndScript" icon="002" insertinfo="EndScript"helpfile="qm.EndScript" /></Command>-<Command desc="颜色/图形命令" icon="001"><Command desc="GetPixel 得到指定点颜色" icon="003"insertdialog="ScriptE_V102.FindColor" insertinfo="GetPixel 屏幕X坐标,屏幕Y 坐标" funcinfo="GetPixel 屏幕X坐标,屏幕Y坐标" helpfile="qm.GetPixel" /> <Command desc="FindColor 找色" icon="002"insertdialog="ScriptE_V102.FindColor" insertinfo="FindColor 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标"funcinfo="FindColor 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标" helpfile="qm.FindColor" /><Command desc="FindCenterColor 中心找色" icon="002"insertdialog="ScriptE_V102.FindColor" insertinfo="FindCenterColor 左上角x 坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标"funcinfo="FindCenterColor 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标" helpfile="qm.FindCenterColor" /> <Command desc="FindColorEx 模糊找色" insertdialog="ScriptE_V102.FindColor"icon="002" insertinfo="FindColorEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,查找方式,相似度,返回x坐标,返回y坐标"funcinfo="FindColorEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,查找方式,相似度,返回x坐标,返回y坐标" helpfile="qm.FindColorEx" /> <Command desc="FindCenterColorEX 中心模糊找色" icon="002"insertdialog="ScriptE_V102.FindColor" insertinfo="FindCenterColorEX 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标"funcinfo="FindCenterColorEX 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,16进制颜色值,返回x坐标,返回y坐标" helpfile="qm.FindCenterColorEx" /> <Command desc="FindPic 找图" insertdialog="ScriptE_V102.FindColor"insertinfo="FindPic 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,相似度,返回x坐标,返回y坐标" funcinfo="FindPic 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,相似度,返回x坐标,返回y坐标"icon="002" helpfile="qm.FindPic" /><Command desc="FindPicEx 找图案" insertdialog="ScriptE_V102.FindColor"insertinfo="FindPicEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,图案颜色,相似度,返回x坐标,返回y坐标" funcinfo="FindPicEx 左上角x坐标,左上角y坐标,右下角x坐标,右下角y坐标,bmp格式图片路径,图案颜色,相似度,返回x 坐标,返回y坐标" icon="002" helpfile="qm.FindPicEx" /><Command desc="IsColor 判断色点" insertdialog="ScriptE_V102.Iscolor"insertinfo="IsColor(屏幕x坐标,屏幕y坐标,比较值(0不等于|1等于|0.5-1之间约等于))" funcinfo="IsColor 屏幕x坐标,屏幕y坐标,比较值(0不等于|1等于|0.5-1之间约等于)" icon="003" helpfile="qm.IsColor" /></Command>-<Command desc="其他命令" icon="001"><Command desc="Delay 延时" insertdialog="ScriptE_V102.Delay" icon="002"insertinfo="Delay 毫秒数" funcinfo="Delay 毫秒数" helpfile="qm.Delay" /> <Command desc="GetTime 取得系统时间" insertdialog="ScriptE_V102.gettime"icon="003" insertinfo="GetTime" funcinfo="GetTime" helpfile="qm.GetTime"/><Command desc="SayString 输入文本" insertdialog="ScriptE_V102.SayString"icon="002" insertinfo="SayString 文字或表达式" funcinfo="SayString 字符或表达式" helpfile="qm.SayString" /><Command desc="MsgBox 弹出对话框" insertdialog="ScriptE_V102.MsgBox"icon="002" insertinfo="MsgBox 文字或表达式" funcinfo="MsgBox 字符或表达式"helpfile="qm.MsgBox" /><Command desc="RunApp 运行" insertdialog="ScriptE_V102.RunApp"icon="002" insertinfo="RunApp(要运行的程序)" funcinfo="RunApp 要运行的程序"helpfile="qm.RunApp" /><Command desc="Path 取得当前路径" insertdialog="ScriptE_V102.path"icon="003" insertinfo="Path()" funcinfo="Path" helpfile="qm.Path" /> <Command desc="UserVar 用户定义变量" insertdialog="ScriptE_erVar"icon="002" insertinfo="UserVar 变量=默认值注释" helpfile="erVar" /> <Command desc="SetSimMode 设置模拟方式" icon="002"insertinfo="SetSimMode 模拟方式(0普通|1硬件|2超级)" funcinfo="SetSimMode 模拟方式(0普通|1硬件|2超级)" helpfile="qm.SetSimMode" /> <Command desc="SetTimer 设置计时器" insertdialog="ScriptE_V102.SetTimer"icon="002" insertinfo="SetTimer 是否开启计时器,计时间隔(毫秒)"funcinfo="SetTimer 是否开启,计时间隔(毫秒)" helpfile="qm.SetTimer" /> <Command desc="Import 导入命令" icon="002" insertinfo="Import vbs文件或插件名字" funcinfo="Import 文件或插件名" helpfile="qm.Import" /> <Command desc="VBSBegin..VBSEnd VBS执行块" icon="002"insertinfo="VBSBegin //需要插入的VBS代码VBSEnd" helpfile="qm.VBSBegin"/><Command desc="PutAttachment 释放附件" icon="002"insertinfo="PutAttachment 路径要释放的文件名" funcinfo="PutAttachment 路径要释放的文件名" helpfile="qm.PutAttachment" /><Command desc="// 脚本注释" icon="002" insertinfo="//注释的内容"helpfile="qm.Rem2" /><Command desc="DPrint 调试输出" icon="002" insertinfo="DPrint 变量"funcinfo="DPrint 变量" helpfile="qm.DPrint" /></Command>-<Command desc="事件子程序" icon="001"><Command desc="OnScriptLoad 脚本载入事件子程序" icon="004" insertinfo="Sub OnScriptLoad MsgBox "脚本载入配置完成!" Return"helpfile="qm.OnScriptLoad" /><Command desc="OnScriptExit 脚本停止事件子程序" icon="004" insertinfo="Sub OnScriptExit MsgBox "脚本已经停止!" Return" helpfile="qm.OnScriptExit" /> <Command desc="OnScriptTimer 脚本计时器事件子程序" icon="004"insertinfo="Sub OnScriptTimer MsgBox "脚本进入计时器子程序!" Return"helpfile="qm.OnScriptTimer" /></Command></Command>-<Command desc="标准VBS命令" icon="001">- <![CDATA[VB Script语言介绍VBS语言是微软公司提供的一种程序开发语言,它将灵活的脚本应用于更广泛的领域,据不完全统计,使用VBS脚本语言的用户数是同类产品中全球最多的,具有大量的教程等学习资料。
目录1 脚本精灵控制条 (7)1.1 改变控制条状态 (7)1.1.1 展开态 (7)1.1.2 缩放态 (8)1.1.3 吸附态 (8)1.2 脚本管理 (9)1.2.1 二进制脚本 (11)1.2.1 明文脚本 (12)1.2.3 导入脚本 (13)1.2.4 退出脚本管理面板 (14)1.3 播放脚本 (14)1.3.1 开始播放 (14)1.3.2 播放一次 (14)1.3.3 循环播放 (15)1.3.4 停止播放 (15)1.4 录制脚本 (15)1.4.1 开始录制 (15)1.4.2 停止录制 (16)1.4.3 保存脚本 (16)1.5 取素材 (16)1.5.1 全屏截图 (16)2 脚本精灵开发工具 (19)2.1 基本介绍 (19)2.1.1 开发工具介绍 (19)2.1.2 各组成部分介绍 (19)2.1.3 二进制脚本结构 (19)2.1.4 明文格式脚本 (20)2.2 工程管理 (20)2.2.2 删除工程 (21)2.2.3 脚本编辑 (21)2.2.4 图片路径 (21)2.3 远程设备管理 (21)2.3.1 远程导入脚本 (22)2.3.2 远程屏幕 (22)2.3.3 远程截图 (22)2.3.4 远程取色 (23)2.3.5 远程取坐标 (23)2.4 脚本编辑器 (23)2.4.1 关键字高亮 (23)2.4.2 脚本检错 (24)2.4.3 编译脚本 (24)3 脚本语言 (25)4 脚本精灵库函数 (27)4.1 基本函数 (27)4.1.1 触摸点击 (27)4.1.2 触摸按下 (27)4.1.3 触摸弹起 (28)4.1.4 触摸滑动 (29)4.1.5 输入文本 (30)4.1.6 模拟按键 (31)4.1.7 获取颜色 (31)4.1.8 普通寻色 (32)4.1.9 模糊寻色 (33)4.1.10 RGB颜色合成 (34)4.1.11 获取颜色RGB (35)4.1.12 判断颜色 (36)4.1.13 精确寻图 (37)4.1.14 点击图片 (38)4.1.15 范围寻图 (39)4.1.16 模糊寻图 (40)4.1.17 范围模糊寻图 (41)4.1.18 不规则寻图 (43)4.1.19 范围不规则寻图 (44)4.1.24 获取屏幕色位 (49)4.1.25 弹出文本提示 (50)4.1.26 震动 (51)4.1.27 记录日志 (51)4.1.28 记录错误日志 (52)4.1.29 查找某应用是否安装 (53)4.1.30 判断某应用是否正在运行 (54)4.1.31 启动指定应用 (55)4.1.32 结束一个应用 (56)4.1.33 退出当前脚本 (56)4.1.34 获取SD卡路径 (57)4.1.35 截图到文件 (58)4.1.36 拷贝文本到剪切板 (59)4.1.37 暂停指定应用 (60)4.1.38 恢复指定应用的运行 (60)4.2 高级函数 (61)4.2.1 获取设备UDID唯一串 (61)4.2.2 获取网卡MAC (62)4.2.3 获取蓝牙设备MAC (63)4.2.4 获取IMEI (64)4.2.5 获取设备信息串 (65)4.2.9 随机触摸滑动 (70)4.2.10 http访问 (71)4.3 兼容模式相关函数 (71)4.3.1 强制设置兼容模式 (72)4.3.2 判断当前模式 (72)4.3.3 设置自定义截屏 (74)4.3.4 截取屏幕 (74)5 使用技巧 (77)5.1 如何模拟触摸操作 (77)5.2 如何寻图 (77)5.3 如何找色 (78)5.4 如何记录日志 (78)5.5 开发平台如何与手机建立连接 (78)5.6 如何进行远程调试 (78)5.7 如何输入中文文本 (79)5.8 脚本优化原则 (79)5.9 处理意外逻辑 (79)6 附录 (82)6.1 虚拟键对照表 (82)7 UI说明 (84)7.1脚本结构 (84)7.6创建文本编辑框 (87)7.7创建复选框 (88)7.8创建单选框 (88)7.9创建按钮 (89)7.10 UI换行 (90)7.11创建扩展窗口 (90)7.12在扩展窗口中创建控件 (90)7.13动态设置UI文本 (91)7.14动态获取UI文本 (92)7.15动态设置选中 (92)7.16动态获取选择状态 (92)7.17设置是否显示循环播放设置UI (93)8、获取配置项 (94)1 脚本精灵控制条为方便使用,脚本精灵所有的功能都集中在控制条上,控制条可任意拖动,缩小,吸附。
并且不与其他应用或者游戏冲突,使用起来就像游戏自带的工具一样方便。
可随时切换脚本、测试脚本、导入脚本、播放脚本、录制脚本、截图等,不需要退出游戏。
1.1 改变控制条状态控制条分为三种状态:展开态、缩小态、吸附态。
在展开的状态下,10秒后自动变为收缩态,在收缩态下移动到屏幕边缘会转变为吸附态。
1.1.1 展开态展开态下可以使用脚本精灵的各种功能,打开脚本精灵默认为展开态。
当前状态为吸附态或者收缩态时,只需要点击第一个按钮即可展开控制条展开态下,10秒后自动变为缩放态1.1.2 缩放态缩放态下,控制条缩小到只有一个图标大小,主要目的是不影响下面的游戏或者应用的界面缩放态下,控制条可以任意移动,移动到屏幕边缘,控制条将成为吸附态。
1.1.3 吸附态吸附态缩小到三分之一个图标的大小,完全可以忽略它的存在。
吸附态下,点击图标即可展开控制条,使用各种功能。
1.2 脚本管理点击控制条的第二个按钮即可进入脚本管理面板,脚本分为二进制脚本和明文脚本,明文脚本一般为录制的脚本。
二进制脚本是1.2.1 二进制脚本二进制脚本是使用脚本精灵开发工具编译加密压缩后的脚本点击脚本管理面板的第二个按钮即可列出当前系统里面的所有二进制脚本点击一个脚本可打开管理选项,可以将其设置为当前脚本或者删除该脚本1.2.1 明文脚本明文脚本是直接可以看见源代码的脚本,录制的脚本就是明文的明文脚本保存在/sdcard/scriptelf/script下,导入脚本实际上就是复制脚本到该目录点击脚本管理面板的第一个按钮即可列出当前系统里面的所有明文脚本点击一个脚本可打开管理选项,可以将其设置为当前脚本或者删除该脚本1.2.3 导入脚本点击脚本管理面板的导入脚本按钮即可打开文件选择面板,你可以选择一个文件进行导入导入时,脚本精灵自动判断是否为二进制脚本,如果是则导入二进制脚本列表,否则导入到明文脚本列表如果有wifi,建议使用脚本精灵开发工具进行远程管理和远程导入,比较方便1.2.4 退出脚本管理面板点击脚本管理面板上的退出面板即可退出管理面板1.3 播放脚本控制条的第三个按钮为控制脚本播放的按钮,在播放前,先要设置一个当前脚本,明文脚本和二进制脚本都可以。
点击播放后,可以选择播放一次或者循环播放。
播放开始后播放按钮变为停止按钮。
播放结束后,重新变为播放按钮。
1.3.1 开始播放选择一个明文脚本或者二进制脚本加载为当前脚本点击控制条的第三个按钮,根据需要选择播放一次或者循环播放,确定即可播放目前二进制脚本需要自己在脚本内控制循环1.3.2 播放一次选择播放一次,脚本从头到尾执行一次,执行完后即停止播放1.3.3 循环播放选择循环播放,脚本从头到尾执行完后,又从头开始播放,直到用户点击停止播放按钮这个选项主要针对录制的明文脚本二进制脚本只能播放一次,循环播放需要自己在脚本中设置,由于二进制脚本都是自己编写,所有自己控制循环比较灵活1.3.4 停止播放脚本播放后,播放按钮会变为停止按钮,点击停止按钮,即可停止当前的脚本1.4 录制脚本脚本精灵可将用户的操作记录下来,保存为脚本文件用户可播放此脚本,以完成动作回放可循环播放用于做简单的重复的动作有很好的效果1.4.1 开始录制点击控制条的第四个按钮即可开始录制脚本开始录制后,将会隐藏控制条此过程用户的动作都将会被记录下来,包括延迟操作1.4.2 停止录制在已经开始录制的状态下,按下音量下键即可停止录制停止录制后,控制条将重新显示出来1.4.3 保存脚本停止录制后,输入脚本名称,点击保存即可将录制好的脚本保存在明文脚本列表1.5 取素材脚本精灵提供快捷的方式获取编写脚本需要的素材1.5.1 全屏截图点击控制条的第五个按钮即可进行全屏截图截图保存在/sdcard/scriptelf/image下截图是完整无损的按系统自己的坐标截取的1.5.2 区域截图先进行全屏截图将图片传输保存到电脑,用电脑打开后,使用脚本精灵开发工具的截图功能进行截图脚本精灵开发工工具的截图功能可以自己选择区域强烈建议直接使用脚本精灵开发工具的远程截图功能(需要wifi)1.5.3 取色先进行全屏截图将图片传输保存到电脑,用电脑打开后,使用脚本精灵开发工具的取色功能进行取色强烈建议直接使用脚本精灵开发工具的远程取色功能(需要wifi)1.5.4 取坐标先进行全屏截图用windows画板打开图片,鼠标放在图片的指定的位置上,windows画板右下角会显示该位置的坐标强烈建议直接使用脚本精灵开发工具的远程取坐标功能(需要wifi) 1.6 退出脚本精灵点击控制条的最后一个按钮,即可退出脚本精灵。
2 脚本精灵开发工具脚本精灵提供一个电脑端的开发工具,提供一个脚本编辑器,具有工程管理、关键字高亮、函数库高亮、脚本检错、编译加密脚本、远程屏幕、远程截屏、远程取色、远程取坐标、远程导入等功能。
如果有wifi支持,完全不需要用数据线。
2.1 基本介绍2.1.1 开发工具介绍2.1.2 各组成部分介绍2.1.3 二进制脚本结构二进制脚本格式是脚本精灵独有的脚本格式,只有脚本精灵能够识别用脚本精灵开发工具编译后的脚本即为二进制脚本二进制脚本为一个单独的文件,里面包含了脚本本身的代码、脚本所需要的图片和配置、脚本描述、脚本名称等信息编译后的二进制脚本为加密压缩的脚本格式,无法查看和修改脚本内容和相关图片。
只有拥有源代码的作者本人才能修改和重新编译脚本2.1.4 明文格式脚本明文脚本是文本格式的,直接用文本编辑器打开即可查看和编辑录制的脚本为明文脚本明文脚本可以用脚本精灵开发工具编译成二进制脚本2.2 工程管理脚本精灵工程统一保存在”[程序目录]/工程目录“下,启动程序后自动读取工程显示在左边的工程树中工程树中蓝色的为当前活动脚本,用户所做的操作都是针对活动脚本,比如截图的存储路径。
在工程名上点击右键可设为活动脚本工程目录中的se.project为工程信息,创建工程时自动创建,不能删除工程中的main.script为脚本文件,实际执行的脚本就是该文件,不能删除和重命名脚本相关的图片和文件需要放在该工程同目录下或者子目录下工程目录下不要存放不用到的文件,这样会影响速度2.2.3 新建工程点击菜单栏->工程->新建工程,弹出新建工程对话框填入工程名称,该名称也将作为脚本的名称填入工程描述,该描述将会写入到脚本中,要简短点确定即可创建一个工程2.2.2 删除工程在左边工程树上选择一个工程点击鼠标右键弹出上下文菜单点击删除工程2.2.3 脚本编辑双击工程里面main.script即可打开脚本进编辑2.2.4 图片路径由于脚本精灵的脚本编译后会将所有图片打包成一个二进制文件,因此所有寻图函数的图片路径也要写相对工程的路径比如某工程下有一个图片为1.bmp,则图片路径直接写”1.bmp“。