VBS dim a,w,d,s,dan(5),zf1,zf2,n,m,k,m1,k1,zf,danuu,danqx,danqy,ni,is2,jguo,weizhi //确定位置 PutAttachment Rem {开始} // Plugin t1=GetSysInfo.GetTime() VBSCall Call FindPic(20,20,960,690,"Attachment:\确定.bmp",1,xs,ys) If xs>=0 and ys>=0 IfColor xs-15,ys-21,ff00,1 Goto {结束} //定点失败,跳转结束 EndIf Else //MessageBox "要求验证的窗口“确定”按钮被遮挡,无法继续识别" Goto {结束} //定点失败,跳转结束 EndIf //★★四点判断 //4个角的点坐标1(a,w) 2(d,w) 3(a,s) 4(d,s) VBS a=xs-129:w=ys-82 VBS d=a+99:s=w+99 VBSCall FindColor(a,w,d,s,"000000",qxw,qyw) VBS n=0 Rem 下到上点 VBSCall FindColorEx(a,w+99-n,d,s,"000000",2,1,qxs,qys) If qxs=-1 and qys=-1 VBS n=n+1 Goto 下到上点 EndIf VBS n=0 Rem 左到右点 VBSCall FindColor(a,w,d-99+n,s,"000000",qxa,qya) If qxa=-1 and qya=-1 VBS n=n+1 Goto 左到右点 EndIf VBS n=0 Rem 右到左点 VBSCall FindColorEx(a+99-n,w,d,s,"000000",2,1,qxd,qyd) If qxd=-1 and qyd=-1 VBS n=n+1 Goto 右到左点 EndIf //★★上左面第一点(qxw,qyw),下右面第一点(qxs,qys),左上面第一点(qxa,qya),右下面第一点(qxd,qyd) //MessageBox "上左面("&qxw&","&qyw&"),下右面("&qxs&","&qys&"),左上面("&qxa&","&qya&"),右下面("&qxd&","&qyd&")" If qys-qyw>(qxd-qxa)*0.7 // MessageBox "上下识别" Gosub {↓} Gosub {↑} ElseIf qys-qyw<=(qxd-qxa)*0.7 Gosub {↓} Gosub {↑} //MessageBox "左右识别" EndIf //M zf1&" "&zf2 Plugin t2=GetSysInfo.GetTime() // Gosub {答案} Gosub {luweijile} VBS t3=(t2-t1)/1000 //◆◆◆◆◆◆◆◆◆◆◆◆测试或者实际应用可以在下面两行中改动◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ Goto {点击答案} Gosub {点击答案}"识别结果为:"&jguo&" 应该选择答案:"&weizhi&" 用时为:"&t3&"秒" //Gosub {点击答案} //◆◆◆上面MessageBox是测试用┃Gosub 是实际挂机用。两者选择其一。用加减“//”可以控制◆◆◆◆ //Delay 6000 //Goto {开始} Rem {结束} //Delay 20000 //Goto {开始} EndScript //〓〓〓〓〓〓〓〓〓〓〓〓〓主程序结束,下面是子程序。整个脚本的核心〓〓〓〓〓〓〓〓〓〓〓〓〓 Sub {点击答案} If weizhi=1 MoveTo a+150,w+5 LeftClick 1 ElseIf weizhi=2 MoveTo a+150,w+5+12 LeftClick 1 ElseIf weizhi=3 MoveTo a+150,w+29 LeftClick 1 ElseIf weizhi=4 MoveTo a+150,w+41 LeftClick 1 ElseIf weizhi=5 MoveTo a+150,w+53 LeftClick 1 ElseIf weizhi=6 MoveTo a+150,w+65 LeftClick 1 EndIf Delay 900 MoveTo a+168,w+91 LeftClick 1 Delay 800 MoveTo a+180,w+91 Return {点击答案} //点击好答案后延时6秒 Sub {答案}