按键精灵,找色、对比问题。请大神指点一下!
按键精灵,我在屏幕上按指定座标获取三个点,并取得它的色值,然后在用鼠标点击某个按钮以后,为了确定按实(点击准确)以后屏幕是否按原定计划进行了改变,所以我们需要再次使用前面...
按键精灵,我在屏幕上按指定座标获取三个点,并取得它的色值,然后在用鼠标点击某个按钮以后,为了确定按实(点击准确)以后屏幕是否按原定计划进行了改变,所以我们需要再次使用前面的三个点的座标进行获取颜色色值,确定是否与先前的色值相符(相等)。如果相等则证明鼠标点击未成功(屏幕无变化),如果不等则证明操作成功!
请根据以上想法提出解决思路,如果能编有按键精灵源代码程序最好!定会感谢、采纳! 展开
请根据以上想法提出解决思路,如果能编有按键精灵源代码程序最好!定会感谢、采纳! 展开
2个回答
展开全部
一/首先,新建一个脚本.二/在按键精灵上方有一个"抓点颜色"按钮.点击之.会出来一个抓屏窗口.三/保证您那个群空间在最上面,然后按键盘上的"Print Screen SysRq"(即截屏键).四/这时先前按键精灵抓屏软件下方就会出现刚才的屏幕,找到群空间那几个字,用鼠标左键点中"群"字的左上角,拖到"间"字的右下角松开鼠标左键.这时会自动出来一个"位图另存为"的菜单,把此图存到您所安装的按键精灵的目录下面的script文件夹里.(其它目录下也行,但比较麻烦,这个目录是按键精灵默认找图的地方)五.把以下命令复制进去:Rem 程序开始//下面这句是找刚才所截取的群空间图片命令.0,0,1280,800是分辨率的范围.后面的0.9是相似度,1为最相似,并把找到的图片的座标保存在X和Y中.VBSCall FindPic(0,0,1280,800,"群空间.bmp",0.9,x,y)//下面这句是如果上面的命令找到图片了,判断方式为XY大于0(找不到则值为-1),则执行IF里面的语句.
If x>0 and y>0 //鼠标移动到X,Y(鼠标移动到上面找到的图片上,事实上就是"群"字的左上角,即您刚才所截图的左上角)
MoveTo x,y //左键单击X,Y
LeftClick 1//但是如果找不到呢,下面这句是否则的意思.Else //延时1000毫秒即1秒,意思是如果在屏幕上找不到"群空间"图片,每隔1秒钟检测一次.太短了电脑会感觉卡. Delay 1000 //跳转到程序开始即找不到图片延时1秒钟继续返回查找. goto 程序开始//如果条件结束,这条命令不用理解,一个结构而已.
EndIf 六.最后保存退出即可,默认的是按F10键启动,看一下别跟其它的脚本冲突了. 上面的命令加了注释有点乱,完整命令如下(另外下面的脚本是每隔1秒检测群空间图片,找到后点击一次后就停止了,如果需要循环,设成循环执行就行了.如果需要后台或者其它功能,请加偶QQ,有问题请追加):Rem 程序开始
VBSCall FindPic(0,0,1280,800,"群空间.bmp",0.9,x,y)
If x>0 and y>0
MoveTo x,y
LeftClick 1
Else
Delay 1000
Goto 程序开始
EndIf
If x>0 and y>0 //鼠标移动到X,Y(鼠标移动到上面找到的图片上,事实上就是"群"字的左上角,即您刚才所截图的左上角)
MoveTo x,y //左键单击X,Y
LeftClick 1//但是如果找不到呢,下面这句是否则的意思.Else //延时1000毫秒即1秒,意思是如果在屏幕上找不到"群空间"图片,每隔1秒钟检测一次.太短了电脑会感觉卡. Delay 1000 //跳转到程序开始即找不到图片延时1秒钟继续返回查找. goto 程序开始//如果条件结束,这条命令不用理解,一个结构而已.
EndIf 六.最后保存退出即可,默认的是按F10键启动,看一下别跟其它的脚本冲突了. 上面的命令加了注释有点乱,完整命令如下(另外下面的脚本是每隔1秒检测群空间图片,找到后点击一次后就停止了,如果需要循环,设成循环执行就行了.如果需要后台或者其它功能,请加偶QQ,有问题请追加):Rem 程序开始
VBSCall FindPic(0,0,1280,800,"群空间.bmp",0.9,x,y)
If x>0 and y>0
MoveTo x,y
LeftClick 1
Else
Delay 1000
Goto 程序开始
EndIf
追问
。。。老大,好像你这个回答和我的问题差距有点远吧?
我是想问如何自动在固定座标取色、然后再次在上述座标取色,最后对两次取色的色值进行对比看是否相符。
追答
抓点热键包括数字键0到9,以及数字键下方的10个字母键Q到P。按下热键即可获得鼠标当前所在位置的坐标和颜色,
展开全部
给你单击后的语法吧
if a 点 色= a1
elseif b 点= 色 b1
elseif c点= 色 c 1
messagebox "正确"
endif
endif
messagebox "不正确"
endif
应该可以了。
if a 点 色= a1
elseif b 点= 色 b1
elseif c点= 色 c 1
messagebox "正确"
endif
endif
messagebox "不正确"
endif
应该可以了。
追问
。。。。我想知道,比如说:我用鼠标自动在屏幕上某点点击一下,取色并住录到a1、b1、c1。用按键精灵是用什么语句?如何用代码具体写这个程序的过程?
追答
GetCursorPos x,y
cr1=GetPixelColor(x,y)
MessageBox cr1
//得到当前点的颜色,并弹出对话框显示出来
GetCursorPos x,y
cr1=GetPixelColor(x,y)
MessageBox cr1
//得到当前点的颜色,并弹出对话框显示出来
你在 按键精灵全部命令--基本命令===颜色===找到 “得到指定点颜色”----然后看中间的命令提示
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询