如何使用Inno Setup在安装过程中检查端口是否可用?

use*_*909 5 installation inno-setup

我正在尝试创建一个安装文件,以便在安装过程中检查一个端口,例如9000,并让用户知道端口状态.我是Inno Setup的新手,想知道这是否可能,我该如何检查呢?

谢谢

LEo*_*LEo 6

您可以使用我的功能来检查端口是否可用

看:

  function CheckPortOccupied(Port:String):Boolean;
  var
    ResultCode: Integer;
  begin
   Exec(ExpandConstant('{cmd}'), '/C netstat -na | findstr'+' /C:":'+Port+' "', '',0,ewWaitUntilTerminated, ResultCode);
    if ResultCode  <> 1 then 
    begin
      Log('this port('+Port+') is occupied');
      Result := True; 
    end else
    begin
      Result := False;
    end;
  end;
Run Code Online (Sandbox Code Playgroud)


Mir*_*ral 2

查看端口是否可用的唯一真正方法是尝试连接或侦听它(取决于您要检查的可用性类型)。

您可以直接使用 WinAPI 调用来完成此操作,但您可能会发现使用您选择的语言编写代码来测试 DLL 中的端口(当然前提是它可以创建本机 DLL),然后调用它会更容易来自英诺内部