继续请教,关于阿福找图,简单测试脚本报LINE 8481错误原因?
代码是如此的简单,是借鉴论坛里love008所用的阿福找图的修改版
按F7编译成功,运行的时候报这样的错误,baidu这话,好像没什么答案。。
顺便问个问题,目标对象的参考图片只能是bmp吗,可以jpg或者png不? 阿福的源码是针对BMP位图文件的.此程序在WINxp ,win7 32位,WIN7 64位上都运行成功.
1.你注意一下,按F8键把输出窗口打开,F5运行看是否有错误提示?
2.你的1.bmp是标准位图文件吗?建议用Printscreen截屏,然后COPY到画图工具剪裁保存. #include<af_search_pic.au3>;包含阿福源代码文件到脚本中
;$t=TimerInit()
Sleep(6000)
search_pic (0,0, @DesktopWidth, @DesktopHeight,@MyDocumentsDir & "\1.bmp") ;search_pic($x1,$y1,$x2,$y2,$pic)"当前屏幕找图",说明:$x1:屏幕上的左上角X坐标,$y1:屏幕上的左上角Y坐标,$x2:屏幕上的右下角X坐标,$y2:屏幕上的右下角Y坐标,$pic:要找图的路径及名称,$aPosMsg:返回坐标值(X坐标,Y坐标,长,高)
If $aPosMsg<>"" Then
$array=StringSplit ($aPosMsg,",",2)
MouseMove($array,$array)
;ConsoleWrite(TimerDiff($t)&@CRLF)
EndIf
这个是代码>"D:\autoit3\SciTE\ACNWrapper\ACNWrapper.exe" /run /ErrorStdOut /in "C:\Users\lwk\Desktop\autit\MakeProject\aftest.au3" /autoit3dir "D:\autoit3" /UserParams
+>23:58:19 开始执行 ACNWrapper v.1.0.3.1
+> ============================================
+>执行环境:
+> CPU构架: X64
+> 系统构架: X64
+> 系统语言: 0804
+> 键盘布局: 00000804
+> 内存总量: 8075MB
+> 内存剩余: 5594MB
+> 操作系统: WIN_7/Service Pack 1
+> AU3版本: 3.3.9.21
+> ============================================
>运行 AU3Check (3.3.9.21)开始目录:D:\autoit3
+>23:58:19 AU3Check 完成:0
>运行:(3.3.9.21):D:\autoit3\autoit3_x64.exe "C:\Users\lwk\Desktop\autit\MakeProject\aftest.au3"
"D:\autoit3\Include\af_search_pic.au3" (85) : ==> Variable subscript badly formatted.:
Local $s_re="", $y, $y2, $iW2=StringLen($array2[$iY]), $iPos
Local $s_re="", $y, $y2, $iW2=StringLen($array2[$iY^ ERROR
->23:58:25 AutoIt3.exe 完成::1
+>23:58:27 ACNWrapper 完成..
>退出代码: 1 运行时间: 8.429 秒这个是运行结果,
1.bmp,是用你所说的方法截取,裁剪出来的。
在按下F5后,我迅速切换到软件的界面,然后等待几秒,就报错了,看样子是:
Local $s_re="", $y, $y2, $iW2=StringLen($array2[$iY^ ERROR
,不是很明白,看样子是有问题。。。 你的au3是3.3.9.21版,你升级到3.3.14.2版。 已经升级了版本,测试代码依然是那段代码
输出如下:>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\lwk\Desktop\autit\MakeProject\aftest.au3" /UserParams
+>09:31:48 启动 AutoIt3Wrapper v15.920.938.0 SciTE v3.6.0.0键盘:00000804操作系统:WIN_7/Service Pack 1CPU:X64系统架构:X64语言环境:0804
+> SciTE 目录 => C:\Program Files (x86)\AutoIt3\SciTEAutoIt3Wrapper 用户目录 => C:\Users\lwk\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE 用户目录 => C:\Users\lwk\AppData\Local\AutoIt v3\SciTE
>运行 AU3Check (3.3.14.2) 检查代码.参数: C:\Program Files (x86)\AutoIt3au3 文件: C:\Users\lwk\Desktop\autit\MakeProject\aftest.au3
+>09:31:48 AU3Check 语法检查结束.rc: 0
>运行:C:\Program Files (x86)\AutoIt3\autoit3_x64.exe(3.3.14.2), 脚本: C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\lwk\Desktop\autit\MakeProject\aftest.au3"
--> 点击 Ctrl+Alt+Break 重新启动, 或 Ctrl+Break 停止脚本执行
"C:\Program Files (x86)\AutoIt3\Include\af_search_pic.au3" (139) : ==> ????????.:
Local $aRet[$aBmpData]
Local $aRet[^ ERROR
->09:31:54 AutoIt3.exe 结束.rc: 1
+>09:31:54 AutoIt3Wrapper 完成脚本处理.
>Exit code: 1 Time: 10.78
还是有ERROR.... 你的BMP放在什么目录里? 我的bmp与au3文件一起放在同一个目录里,
脚本在运行的时候,会生成一个Source.bmp文件,也在这目录里面 输出的错误是af_search_pic.au3的第139行有问题?用编辑器打开看到139行也不像是有乱码什么的。。。。
路径错了,
把search_pic (0,0, @DesktopWidth, @DesktopHeight,@MyDocumentsDir & "\GDIPlus_Image1.bmp") 中的@MyDocumentsDir改为@ScriptDir 问题完全解决,感谢各位!!!!! 回复 10# sanfer8889
找到问题所在没有? 回复sanfer8889
找到问题所在没有?
love008 发表于 2016-3-4 15:05 http://www.autoitx.com/images/common/back.gif
找到了,如9楼所说,路径@MyDocumentsDir改成@ScriptDir,文件名前面必须要加\
感谢感谢!
页:
[1]