命令行运行程序,如:
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