命令行运行程序,如:
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
{根据参数名,返回参数值}
function GetMyParam(PName:String):String;
var
CmdLine : String;
CmdLineLen : Integer;//参数的个数
i : Integer;
begin
CmdLineLen:=ParamCount();
for i:= to CmdLineLen do
begin
CmdLine:=ParamStr(i);
if CmdLine= PName then
begin
CmdLine:=ParamStr(i+);
Result := CmdLine;
Exit;
end;
end; end;
GetMyParam('name') 结果是:abc
总结:因为innosetup进行静默安装,需要在程序后面传参数,所以可以通过获取参数来判断是否进行静默安装
innosetup静默安装的参数请参考:http://www.cnblogs.com/tommy-huang/p/4580424.html