按键精灵查找屏幕图片数量!

2025-12-17 00:23:42
推荐回答(1个)
回答1:

这要看具体情况了,你可以把屏幕区域从标设为变量~递加或者递减坐标值来实现如果位置是固定不变只是图片变化的话那应该更好办可以多开几个进程同时找图会事半功倍。。
推荐用文字识别插件,把图片当文字来处理,会简单很多

直接计算屏幕内相同图片的功能,按键精灵是没有的,下面这个脚本可以做到,但效率较低,你可以测试一下

------------------------------------
y0=0
Dim x(),y()
//找到的图片横坐标和纵坐标分别存在x()数组和y()数组中
VBS i=0
//找到的图片数量存在变量i中
VBS pd=1
VBS Dim pd1
VBS Dim x01
VBSCall FindPic(0,y0,1024,768,"Attachment:\1.bmp",1,xz,yz)
TracePrint xz
TracePrint yz
If xz<0 or yz<0
MessageBox "没找到图形"
EndScript
EndIf
//9到13行可以不要
While pd=1
VBSCall FindPic(0,y0,1024,768,"Attachment:\1.bmp",1,xz,yz)
If xz>=0 and yz>=0
VBS ReDim Preserve x(i)
VBS ReDim Preserve y(i)
VBS x(i)=xz
VBS y(i)=yz
VBS i=i+1
VBS y0=yz+1
VBS x01=xz+1
VBS pd1=1
While pd1=1
VBSCall FindPic(x01,yz,1024,yz+12,"Attachment:\1.bmp",1,xz1,yz1)
//12是图的高度
If xz1>=0 and yz1>=0
VBS ReDim Preserve x(i)
VBS ReDim Preserve y(i)
VBS x(i)=xz1
VBS y(i)=yz1
VBS i=i+1
VBS x01=xz1+1
Else
VBS pd1=0
EndIf
EndWhile
Else
VBS pd=0
EndIf
EndWhile
msgbox "一共"&i&"个相同图片"