zhrh88 发表于 2008-5-10 08:54:00

DLLCALL要怎么样用?

QMPlugin.dll 是按键精灵中的一个DLL,估计也是一个插件,插件用法不懂,想用DllCall的方法来用,其中FindPic的用法是这样:
FindPic(0,0,1024,768,"神盾.bmp",0.9,x,y)
//区域找图0,0,1024,768为区域范围"神盾.bmp"为图片名(路径)0.9为找图的相似度 x,y为找到图片后的坐标变量

我写的东西是这样:
dim $x,$y
finpic(0,0,1024,768,"神盾.bmp",0.9,$x,$y)
Func finpic($zx,$zy,$yz,$yx,$yy,$path,$xs,$x,$y)
DllCall("QMPlugin.dll","none","FindPic","int",$zx,"int",$zy,"int",$yx,"int",$yy,"str",$path,"float",$xs,"int",$x,"int",$y)
EndFunc

调用出错
finpic() called by a previous line with 8 arg(s). Min = 9. First previous line calling this Func is 3.
Func finpic($zx,$zy,$yz,$yx,$yy,$path,$xs,$x,$y)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\ROOT\桌面\大兵插件\zhaotu.au3 - 1 error(s), 0 warning(s)

[ 本帖最后由 zhrh88 于 2008-5-13 09:05 编辑 ]

zhrh88 发表于 2008-5-10 09:11:27

不好意思,没检查,自己写的有误,但改好后还是有问题,$x,$y没有任何的数据被 传出来
dim $x,$y
finpic(0,0,1024,768,"神盾.bmp",0.9,$x,$y)
MsgBox(0,"",$x)
Func finpic($zx,$zy,$yx,$yy,$path,$xs,$x,$y)
DllCall("QMPlugin.dll","none","FindPic","int",$zx,"int",$zy,"int",$yx,"int",$yy,"str",$path,"float",$xs,"int",$x,"int",$y)
EndFunc

rho123 发表于 2008-5-10 11:09:51

楼主啊,用CALL 不行的,试过的。
你要找图可以用这个。。
================================
代码没找到。汗
我记得,finpic 有个VBS 函数
直接调用COM 组件啦

[ 本帖最后由 rho123 于 2008-5-10 11:12 编辑 ]

rho123 发表于 2008-5-10 11:15:11

你还不如直接调用大兵插件的 判断N×M矩阵点的颜色

zhrh88 发表于 2008-5-10 15:28:54

rho123兄:你说的大兵那个是判断指定的某处的颜色与预定的颜色是否相同吧。我要的是找出来,还要编程才可以啊

rho123 发表于 2008-5-10 16:49:54

我晕,有返回 判断N×M矩阵点的颜色 返回坐标数组的函数。
一会我写个例子了哦

你的找图可以看这里例子
http://www.autoitx.com/forum.php?mod=viewthread&tid=459&extra=page%3D1

[ 本帖最后由 rho123 于 2008-5-10 17:05 编辑 ]

zhrh88 发表于 2008-5-13 09:04:22

谢谢!我没用过,只是大概看了一下

onestone01 发表于 2009-8-31 10:36:07

已经有写好的找图啦,到论坛去看看吧。
页: [1]
查看完整版本: DLLCALL要怎么样用?