我試圖創建一個安裝文件,以便在安裝過程中它將檢查一個端口,比如說9000,並讓用戶知道端口狀態。 我是Inno Setup的新手,想知道這是否可行,我該如何檢查?如何在安裝過程中使用Inno Setup檢查端口是否可用?
謝謝
我試圖創建一個安裝文件,以便在安裝過程中它將檢查一個端口,比如說9000,並讓用戶知道端口狀態。 我是Inno Setup的新手,想知道這是否可行,我該如何檢查?如何在安裝過程中使用Inno Setup檢查端口是否可用?
謝謝
唯一真正的方法,如果一個端口可以是嘗試連接或聽着它(取決於你檢查什麼樣的可用性)。
您可以直接使用WinAPI調用完成此操作,但您可能會發現使用您選擇的語言編寫代碼以將端口測試到DLL中(前提是它可以創建本機DLL),然後call this from within Inno。
對於Windows 2000的,XP版本,你可以使用telnet命令,如果贏7,Vista中,telnet不是默認開啓的,用戶需要從控制面板啓用後,也可以使用pkgmgr /iu:"TelnetClient"
,使之直通命令行。從inno你可以檢查Windows版本並相應地運行命令。
雖然Telnet對自動化並不是特別好,但... – Deanna
,你可以用我的功能來檢查端口可用
見:
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;
是否有可能使用帕斯卡爾INNO-設置檢查端口? – user1738909