您的位置:首页 > 其它

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

2014-11-25 15:01 369 查看
在安装的最后一个页面FinishPage中点击Finished然后打开一个网页

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

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

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

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

先上代码:

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

//这个方法innosetup会自动调用的,当安装步骤有所改变时,它就会被触发
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
isVerySilent: boolean;
j:Cardinal;

begin
//ssDone,就是点击Finish后的状态,后面会有详细解释
if(CurStep=ssDone) 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;


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;


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: