我使用Imagesearch.au3在outlook上搜索日历图片。以下是代码。
创建了一个新文件夹 - > ImageSearch.au3,ImageSearchDLL.dll以及日历的屏幕截图
#include <ImageSearch.au3>
$x=0
$y=0
start()
while 1
sleep(1000)
WEnd
Func Start()
while 1
$result = _ImageSearch("cal.png",1,$x,$y,0)
if $result=1 Then
ConsoleWrite("Sucesfull")
MouseMove($x,$y,10)
Else
ConsoleWrite("Img not found")
EndIf
WEnd
EndFunc
问题:引发错误消息 “C:\ Users ... \ Desktop \ AutoIT \ New folder \ img \ ImageSearch.au3”(44):==&gt;用于非可访问变量的下标: 如果$ result [0] =“0”则返回0 if $ result ^ ERROR
答案 0 :(得分:0)
作为脚本运行时,dll不会加载。我不确定为什么,但似乎其他人也有同样的问题。我能够将脚本编译为64位应用程序,然后应用程序加载DLL。更改公差后,我能够找到图像。
另外,我会重写你的代码。你有两个无限的while循环无缘无故。我为while循环添加了一个睡眠。我会增加容忍度。
#include <ImageSearch.au3>
start()
Func Start()
while 1
$x=0
$y=0
$result = _ImageSearch("cal.png",1,$x,$y,20)
if $result=1 Then
MsgBox(0,"Found Image","moving mouse")
MouseMove($x,$y,10)
Else
MsgBox(0,"Img not found","not found")
EndIf
sleep(10000)
WEnd
EndFunc
我使用位于http://www.autoitscript.com/forum/topic/148005-imagesearch-usage-explanation/page-2
的64位图片搜索进行了测试