AutoIt脚本找不到文件'错误

时间:2016-12-14 08:48:11

标签: autoit

运行下面的代码时出现错误,请帮我正确运行代码:)

enter image description here

#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$sFile = _DownloadFile('https://cdn.pixabay.com/photo/2013/06/25/22/09/rose-141314_960_720.jpg')
    shellExecute($sFile)
Func _DownloadFile($sURL)
Local $hDownload, $sFile
$sFile = StringRegExpReplace($sURL, "^.*/", "")
$sDirectory = @TempDir & $sFile
$hDownload = InetGet($sURL, $sDirectory, 17, 1)
InetClose($hDownload)
Return $sDirectory
EndFunc; == >_GetURLImage

1 个答案:

答案 0 :(得分:1)

它在我的系统上工作得很好,但我可以告诉你出了什么问题。您将InetGet的第四个参数传递为1($ INET_DOWNLOADBACKGROUND),这意味着在后台执行下载,脚本继续执行。您的函数中的下一个命令是关闭InetGet返回的句柄,但AutoIt文档清楚说明当您对尚未完成的下载执行此操作时会发生什么 - 下载将被取消。

因此,只需将发送到InetGet函数的最后一个参数更改为0即可。或者您可以使用InetGetInfo检查下载是否已完成。