我想从Internet资源中读取包含版本号的文本文件.然后我需要在我的脚本中使用此版本号.
如何在InnoSetup中做到这一点?
解决方法
有很多方法可以在InnoSetup中从Internet获取文件.您可以使用外部库,例如
InnoTools Downloader
,编写自己的库,或使用其中一个Windows COM对象.在下面的示例中,我使用了
WinHttpRequest
COM对象进行文件接收.
当WinHTTP函数没有引发任何异常时,此脚本中的DownloadFile函数返回True,否则返回False.然后,将由AURL参数指定的HTTP GET请求的响应内容传递给声明的AResponse参数.当脚本在异常时运行失败时,AResponse参数将包含异常错误消息:
[Code] function DownloadFile(const AURL: string; var AResponse: string): Boolean; var WinHttpRequest: Variant; begin Result := True; try WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1'); WinHttpRequest.Open('GET',AURL,False); WinHttpRequest.Send; AResponse := WinHttpRequest.ResponseText; except Result := False; AResponse := GetExceptionMessage; end; end; procedure InitializeWizard; var S: string; begin if DownloadFile('http://www.example.com/versioninfo.txt',S) then MsgBox(S,mbinformation,MB_OK) else MsgBox(S,mbError,MB_OK) end;
原文地址:https://www.jb51.cc/delphi/103081.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。