[已解决]au3如何实现找图功能
本帖最后由 min00yuan 于 2011-2-20 21:10 编辑如题,用插件的那个我也试了就是不行,论坛里我用搜索功能搜了找图,搜出来的办法我一个也没学会,哪位达人指点下啊
HotKeySet("1", "findImage") ;按1查找图片
HotKeySet("", "terminate") ;alt-q 退出
While 1
Sleep(100)
WEnd
Func terminate()
Exit
EndFunc ;==>terminate
Func findImage()
$pos = _FindPic(0, 0, 1023, 767, "jie.bmp",0.5)
MouseMove($pos, $pos)
EndFunc ;==>findImage
;====================================================================================
; 函数: _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
; 作者: waynew310
; 描述: 这个函数用于在屏幕范围内查找图片
; 参数: 起点($iLeft,$iTop),
; 终点($iRight, $iBottom)
; 图像文件名称 $szFileName
; 相似度$fSimilar (0.8-1)
; 返回值: 一维数组,分别存放找到图片的x,y坐标,若未找到图片,x,y均小于0
;====================================================================================
Func _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
Dim $pos
$obj = ObjCreate("QMDispatch.QMFunction")
$foundpixel = $obj.FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
$pos = Int($foundpixel / 8192)
$pos = Mod($foundpixel, 8192)
Return $pos
EndFunc ;==>FindPic 这个是当时找到的完整的代码,我只用了一半就入下图报错,原来是我的原因啊,但是找图还是不行还有别的能用的好办法吗????用这个就报错如图用到的QMDispatch.dll,helper.dll,WinIo.dll QMDispatch.dll 也都已经有了,QMDispatch.dll也注册了 这3个dll文件直接放在au3的安装目录下还是? 未找到这个函数 _FindPic
如果还不理解我也没办法了 你没有这个函数,当然报错。
谁写的,找谁。 本帖最后由 min00yuan 于 2011-2-18 09:22 编辑
这个是我从网上找的啊,他的帖子里说要用到QMDispatch.dll,helper.dll,WinIo.dll 这3个dll文件(这3个文件也有了), QMDispatch.dll要注册也注册了就是不行啊 (QMDispatch.dll,helper.dll,WinIo.dll QMDispatch.dll这3个文件到底放到哪里啊?安装的根目录下?还是哪个指定的文件夹里啊?) 请问,_FindPic()在哪? 本帖最后由 min00yuan 于 2011-2-18 10:59 编辑
如果我知道我还用发帖求助了吗?
;====================================================================================
; 函数: _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
; 作者: waynew310
; 描述: 这个函数用于在屏幕范围内查找图片
; 参数: 起点($iLeft,$iTop),
; 终点($iRight, $iBottom)
; 图像文件名称 $szFileName
; 相似度$fSimilar (0.8-1)
; 返回值: 一维数组,分别存放找到图片的x,y坐标,若未找到图片,x,y均小于0
;====================================================================================
Func _FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
Dim $pos
$obj = ObjCreate("QMDispatch.QMFunction")
$foundpixel = $obj.FindPic($iLeft, $iTop, $iRight, $iBottom, $szFileName, $fSimilar)
$pos = Int($foundpixel / 8192)
$pos = Mod($foundpixel, 8192)
Return $pos
EndFunc ;==>FindPic 这个是当时发帖的下半部分 是不是还需要这个啊 我写的一个外挂 用AU3实现了这样的功能。 可惜的是不能全屏幕找。 只能判断固定区域里是不是想要的数据。 其实利用的就是我发出来的验证码识别和阿福说的2进制数据转成16进制存储。 核心代码都在那个例子里面。如果你想实现这样的功能,就去找那个代码瞧瞧 http://www.autoitx.com/thread-20741-1-1.html
的2#例1_2.rar,找图函数. 还是好人多啊~~~~ 回复 7# lanfengc
你的外挂教程我全都看过了,很钦佩 外挂好东西 AU3自带找图函数。 少了一个插件DLL 支持,支持 學習學習!!
thanks for sharing
页:
[1]
2