5

インストール中にポート、たとえば 9000 をチェックし、ユーザーにポートの状態を知らせるように、セットアップ ファイルを作成しようとしています。私は Inno Setup を初めて使用しますが、これが可能かどうか疑問に思っています。これを確認するにはどうすればよいですか?

ありがとうございました

4

3 に答える 3

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;
于 2014-07-15T06:01:20.410 に答える
2

ポートが使用可能かどうかを確認する唯一の実際の方法は、ポートを接続またはリッスンすることです(チェックしている可用性の種類によって異なります)。

これはWinAPI呼び出しで直接行うことができますが、選択した言語を使用してDLLへのポートをテストするコードを記述して(もちろんネイティブDLLを作成できる場合)、これを呼び出す方が簡単な場合があります。伊野の中から

于 2012-10-12T07:27:18.090 に答える
1

Windows 2000、XP バージョンでは telnet コマンドを使用できます。Windows 7、Vista の場合、Telnet はデフォルトで有効になっていません。ユーザーはコントロール パネルから有効にするか、pkgmgr /iu:"TelnetClient"コマンド ラインから有効にすることができます。inno から Windows のバージョンを確認し、それに応じてコマンドを実行できます。

于 2012-10-15T15:36:43.143 に答える