如何在 Inno Setup 中检查端口是否可用?

use*_*643 5 inno-setup pascalscript

我需要检查一些端口是否可用?如何在 Inno Setup 中做到这一点?有没有办法在 Inno Setup 中使用套接字?有没有这方面的图书馆?如果有如何导入并使用它?

谢谢您的回答。

LEo*_*LEo 4

您可以使用我的函数来检查端口是否可用:

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)

  • 尽可能避免使用命令行工具。始终更喜欢本机 Windows API 解决方案。在这种情况下,您可以尝试绑定到给定端口的套接字并查看它是否失败。 (2认同)