我写了一个简单的patcher应用程序,它将文件下载到配置目录中。
当我通过修补程序从URL下载某些文件时,dll文件所属的应用程序无法运行(当我点击“打开”时没有任何反应)。这是我的代码剪切:
Local $fileDownload = InetGet("http://myurl.com/library.dll" , "library.dll" , 1 , 1)
一切都很好,如果我删除library.dll
AutoIt正在下载它,但主应用程序没有运行。
如果我手动下载并替换文件(通过网络浏览器),一切都很好。所以看起来像InetGet()
会破坏文件。但我不知道如何以及为什么。
答案 0 :(得分:2)
inet_get应该可以工作!无论如何这里是另一个aproach使用我的函数直接使用winapi方法下载文件而不是将其保存到文件
Func get_url($url)
$RequestURL = $url;
Global $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") ;
$oHTTP.Open("GET", $RequestURL, False)
$oHTTP.Send()
if $oHTTP.status == 200 Then
Return $oHTTP.ResponseText
Else
Return "ooops... status: " & $oHTTP.status
EndIf
EndFunc