命令行運行程序,如:
myprogram.exe /abc /bcd
如果我們想獲取其中的參數,“/abc”、“/bcd”
1. 直接使用innosetup自帶的方法, GetCmdTail()
將所有參數作為一個字符串返回,安裝和卸載都適用
注意:如果打算使用此方法,建議先看一下它返回字符串的格式,如上例子,
返回的可不僅僅是:/abc /bcd
2.使用innosetup自帶的ParamCount() 和ParamStr()
2.1. ParamCount(), 獲取參數的個數
2.2. ParamStr(), 根據參數下標,返回一個參數
例子: test.exe /name abc /age 18
1 {根據參數名,返回參數值} 2 function GetMyParam(PName:String):String; 3 var 4 CmdLine : String; 5 CmdLineLen : Integer;//參數的個數 6 i : Integer; 7 begin 8 CmdLineLen:=ParamCount(); 9 for i:=0 to CmdLineLen do 10 begin 11 CmdLine:=ParamStr(i); 12 if CmdLine= PName then 13 begin 14 CmdLine:=ParamStr(i+1); 15 Result := CmdLine; 16 Exit; 17 end; 18 end; 19 20 end;
GetMyParam('name') 結果是:abc
總結:因為innosetup進行靜默安裝,需要在程序后面傳參數,所以可以通過獲取參數來判斷是否進行靜默安裝
innosetup靜默安裝的參數請參考:http://www.cnblogs.com/tommy-huang/p/4580424.html
