【问题标题】:AutoIt script 'cannot find file' errorAutoIt 脚本“找不到文件”错误
【发布时间】:2016-12-15 07:27:10
【问题描述】:

我在运行下面的代码时遇到错误,请帮助我正确运行代码:)

#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

【问题讨论】:

  • W7 会发生什么?
  • 临时目录的权限错误:)))

标签: autoit


【解决方案1】:

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

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

【讨论】:

  • 谢谢,:))) 我测试过,它适用于 Windows 8 和 10,但不适用于我的 Windows 7:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多