You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Inno Setup中如何根据选中任务显示自定义页面

在Inno Setup中仅选中特定任务时显示自定义页面

要实现仅当选中指定任务(如G1 OPT3)时才显示自定义页面,核心是利用Inno Setup的ShouldSkipPage事件函数,结合IsTaskSelected函数判断任务选中状态,具体步骤如下:

1. 定义自定义页面变量

在脚本的[Code]段顶部声明自定义页面的全局变量,方便后续引用:

var
  MyCustomPage: TWizardPage;

2. 创建自定义页面

在InitializeWizard过程中,在任务页面(wpSelectTasks)之后创建你的自定义页面,并添加所需控件:

procedure InitializeWizard;
begin
  // 在任务选择页面后创建自定义页面
  MyCustomPage := CreateCustomPage(wpSelectTasks, 'G1 OPT3配置', '请完成G1 OPT3的相关设置');
  
  // 示例:向页面添加标签控件(可根据需求添加编辑框、复选框等)
  CreateLabel(MyCustomPage, '这是G1 OPT3专属配置页面', 0, 0, MyCustomPage.SurfaceWidth, 16);
end;

3. 实现页面跳过逻辑

通过ShouldSkipPage函数判断是否跳过自定义页面:

function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := False; // 默认不跳过任何页面
  
  // 检查当前页面是否为我们创建的自定义页面
  if PageID = MyCustomPage.ID then
  begin
    // 若G1 OPT3任务未被选中,则跳过该自定义页面
    // 注意:这里的'G1_OPT3'要替换为你在[Tasks]段中定义的任务Name属性值
    Result := not IsTaskSelected('G1_OPT3');
  end;
end;

注意事项

  • 任务名称匹配:IsTaskSelected的参数必须与[Tasks]段中对应任务的Name属性完全一致(区分大小写),比如你的G1 OPT3任务在脚本中可能定义为:
    [Tasks]
    Name: "G1_OPT3"; Description: "G1 OPT3"; GroupDescription: "Group 1:"
    
  • 动态响应状态变化:当用户在任务页面勾选/取消勾选G1 OPT3后,返回再前进时,页面会自动根据当前任务状态决定是否显示,无需额外处理。

内容的提问来源于stack exchange,提问作者Mazinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:15:14