加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

inno-setup – 如何使用Inno Setup检查Internet连接

发布时间:2020-12-15 09:28:55 所属栏目:大数据 来源:网络整理
导读:我正在学习Inno Setup来制作一个简单的安装程序.我需要在安装过程中从网站下载文件,因此检查是否存在Internet连接非常重要.如何在安装过程中检查或采取一些警报来连接Internet? 谢谢! 解决方法 最好的检查是尝试实际下载文件. “互联网”几乎不是你可以连
我正在学习Inno Setup来制作一个简单的安装程序.我需要在安装过程中从网站下载文件,因此检查是否存在Internet连接非常重要.如何在安装过程中检查或采取一些警报来连接Internet?

谢谢!

解决方法

最好的检查是尝试实际下载文件.

“互联网”几乎不是你可以连接的真实东西.如果你连接到“互联网”,那么很难测试.您实际上不需要连接到“Internet”,您需要连接到您的服务器.所以测试一下.

也可以看看

> How to check if internet connection is present in java?
> What is the best way to check for Internet connectivity using .NET?

Inno Setup中的等效实现如下:

function InitializeSetup(): Boolean;
var
  WinHttpReq: Variant;
  Connected: Boolean;
begin
  Connected := False;
  repeat
    Log('Checking connection to the server');
    try
      WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      { Use your real server host name }
      WinHttpReq.Open('GET','https://www.example.com/',False);
      WinHttpReq.Send('');
      Log('Connected to the server; status: ' + IntToStr(WinHttpReq.Status) + ' ' +
          WinHttpReq.StatusText);
      Connected := True;
    except
      Log('Error connecting to the server: ' + GetExceptionMessage);
      if WizardSilent then
      begin
        Log('Connection to the server is not available,aborting silent installation');
        Result := False;
        Exit;
      end
        else
      if MsgBox('Cannot reach server. Please check your Internet connection.',mbError,MB_RETRYCANCEL) = IDRETRY then
      begin
        Log('Retrying');
      end
        else
      begin
        Log('Aborting');
        Result := False;
        Exit;
      end;
    end;
  until Connected;

  Result := True;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读