SetEnvironmentVar "SpkStr"," " SpkStr= "Script has been activated " BeginThread "发出语音" Rem 主程序 key=-1 txX = 0 txY = 0 GetLastKey key If key=112 SpkStr= "Collection" key=-1 Gosub 自动采集 EndIf Gosub 打开网站 Goto 主程序 ///////////////////子程序/////////////// Sub 坐标转换 Dim HUA //申明变量是个好习惯 HUA="" //定义变量 Plugin hwnd=Window.Foreground() //调用插件得到当前窗口句柄,结果返回给变量hwnd Plugin wtext=Window.GetText(hwnd) //调用插件根据窗口句柄得到当前窗口标题,结果返回给变量wtext Plugin wclass=Window.GetClass(hwnd) //调用插件根据窗口句柄得到当前窗口类,结果返回给变量wclass Plugin path=Window.GetExePath(hwnd) //调用插件根据窗口句柄得到当前窗口的路径,结果返回给变量path Plugin rect=Window.GetClientRect(hwnd) //调用插件根据窗口句柄得到当前客户区坐标数据,结果返回给变量rect Plugin wrect=Window.GetWindowRect(hwnd) //调用插件根据窗口句柄得到当前窗口坐标数据,结果返回给变量wrect MyArray = Split(rect, "|", -1, 1) //以"|"这个条件来分割字符串rect,结果返回数组MyArray() //在这里这个字符串rect分割后有4个数组元素,它们分别是: //MyArray(0)=客户区左上角X坐标 //MyArray(1)=客户区左上角Y坐标 //MyArray(2)=客户区宽度 //MyArray(3)=客户区高度 txX=MyArray(0)+txX txY=MyArray(1)+txY Return Sub 发出语音 //这里输入想要提示的E文语句(安装office组件还可以支持中文)和重复次数 SpkStr= "Script has been activated " rpNum= 1 VBSBegin cmdLine="For i=1 to rpNum :str=SpkStr:Next" Execute(cmdLine) CreateObject("SAPI.SpVoice").Speak str VBSEnd Return Sub 自动采集 Gosub 坐标转换 LeftDoubleClick 1 While 1 GetLastKey key If key=112 key=-1 Gosub 自动采集 EndIf If key=113 key=-1 SpkStr= "I collecting" BeginThread "发出语音" EndIf If key=115 key=-1 SpkStr= "Wait for instructions" BeginThread "发出语音" Goto 主程序 EndIf Gosub 打开网站 x1=cint(MyArray(0)) y1=cint(MyArray(1)) x2=cint(MyArray(0))+cint(MyArray(2)) y2=cint(MyArray(1))+cint(MyArray(3)) Delay 250 VBSCall FindPic(x1,y1,x2,y2,"shiqu.bmp",0.9,intX,intY) If intX>0 SaveMousePos MoveTo intX,intY LeftClick 1 RestoreMousePos intX=-1 Delay 100 Gosub 自动采集 EndIf EndWhile Return Sub 自动开五行 For 5 RightClick 1 VBSCall GetCursorPos(x5,y5) Delay 100 Delay 500 MoveTo x5+40,y5 Delay 100 EndFor