sanfer8889 发表于 2016-3-3 09:33:44

继续请教,关于阿福找图,简单测试脚本报LINE 8481错误原因?



代码是如此的简单,是借鉴论坛里love008所用的阿福找图的修改版
按F7编译成功,运行的时候报这样的错误,baidu这话,好像没什么答案。。







顺便问个问题,目标对象的参考图片只能是bmp吗,可以jpg或者png不?

love008 发表于 2016-3-3 17:12:07

阿福的源码是针对BMP位图文件的.此程序在WINxp ,win7 32位,WIN7 64位上都运行成功.

1.你注意一下,按F8键把输出窗口打开,F5运行看是否有错误提示?
2.你的1.bmp是标准位图文件吗?建议用Printscreen截屏,然后COPY到画图工具剪裁保存.

sanfer8889 发表于 2016-3-4 00:02:00

#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
,不是很明白,看样子是有问题。。。

love008 发表于 2016-3-4 07:08:34

你的au3是3.3.9.21版,你升级到3.3.14.2版。

sanfer8889 发表于 2016-3-4 09:33:51

已经升级了版本,测试代码依然是那段代码
输出如下:>"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....

mingid 发表于 2016-3-4 10:52:19

你的BMP放在什么目录里?

sanfer8889 发表于 2016-3-4 10:53:48

我的bmp与au3文件一起放在同一个目录里,
脚本在运行的时候,会生成一个Source.bmp文件,也在这目录里面

sanfer8889 发表于 2016-3-4 10:58:09

输出的错误是af_search_pic.au3的第139行有问题?用编辑器打开看到139行也不像是有乱码什么的。。。。


mingid 发表于 2016-3-4 11:05:41

路径错了,
把search_pic (0,0, @DesktopWidth, @DesktopHeight,@MyDocumentsDir & "\GDIPlus_Image1.bmp") 中的@MyDocumentsDir改为@ScriptDir

sanfer8889 发表于 2016-3-4 15:04:15

问题完全解决,感谢各位!!!!!

love008 发表于 2016-3-4 15:05:36

回复 10# sanfer8889


    找到问题所在没有?

sanfer8889 发表于 2016-3-4 18:58:22

回复sanfer8889


    找到问题所在没有?
love008 发表于 2016-3-4 15:05 http://www.autoitx.com/images/common/back.gif

找到了,如9楼所说,路径@MyDocumentsDir改成@ScriptDir,文件名前面必须要加\
感谢感谢!
页: [1]
查看完整版本: 继续请教,关于阿福找图,简单测试脚本报LINE 8481错误原因?