Inno Setup设置在安装Finished页面,点击finish后打开网页

在安装的最后一个页面FinishPage中点击Finished然后打开一个网页

这个功能貌似很简单,不就是在点击finish按钮给它绑定事件,问题立马解决。

在普通的桌面应用程序开发中的确是这样做的,可是这里是InnoSetup

这个事件不是你能控制的,

所以我们应该换一种思维,点击finish后,相当于程序全部安装完毕了,而在InnoSetup的脚本中,我们可以获取到这个状态

先上代码:

第一种方法:CurStepChanged:按安装的步骤的改变

 1 //这个方法innosetup会自动调用的,当安装步骤有所改变时,它就会被触发

 2 procedure CurStepChanged(CurStep: TSetupStep);

 3 var

 4 ErrorCode: Integer;

 5 isVerySilent: boolean;

 6 j:Cardinal;

 7 

 8 begin

 9   //ssDone,就是点击Finish后的状态,后面会有详细解释

10   if(CurStep=ssDone) then

11   begin

12        for j := 1 to ParamCount do

13        begin

14            //这里是判断程序是否为静默安装,是则不打开网页

15            if(CompareText(ParamStr(j),'/verysilent')=0) then

16                isVerySilent := true

17        end;

18 

19        if(not isVerySilent) then

20        begin 

21            ShellExec('open','http://www.baidu.com','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);

22        end;

23   end;
View Code

    解释一下InnoSetup的状态页面,和向导页面:

   http://www.cnblogs.com/tommy-huang/p/4121229.html

第二种方法:CurPageChanged:按向导页面改变

//这个方法innosetup会自动调用的,当安装步骤有所改变时,它就会被触发

procedure CurPageChanged(CurPageID:Integer);

var

ErrorCode: Integer;

isVerySilent: boolean;

j:Cardinal;



begin

  //wpFinished,就是点击Finish后的状态,后面会有详细解释

  if(CurPageID=wpFinished) then

  begin

       for j := 1 to ParamCount do

       begin

           //这里是判断程序是否为静默安装,是则不打开网页

           if(CompareText(ParamStr(j),'/verysilent')=0) then

               isVerySilent := true

       end;



       if(not isVerySilent) then

       begin 

           ShellExec('open','http://www.baidu.com','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);

       end;

  end;

  

你可能感兴趣的:(Inno Setup)