将帮助按钮添加到 InnoSetup 向导页面

发布于 2024-11-01 18:03:23 字数 112 浏览 0 评论 0原文

我有一个带有自定义向导页面的设置脚本,可以让用户进行选择。最好有一个帮助按钮并提供一个可安装的小型 CHM 文件,以便我可以提供有关选项的详细说明。

有人知道是否有一种简单的方法可以做到这一点?

I have a setup script with a custom wizard page to get a choice from the user. It would be nice to have a help button and to supply a small CHM file with the installable so that I can provide a detailed explanation of what the choices are.

Anyone know whether there is an easy way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情仇皆在手 2024-11-08 18:03:23

有关如何进行的详细信息,请参阅这篇文章在安装包中包含一个文件,并在安装开始之前引用该文件。

为了向安装向导添加按钮,我在 InitializeWizard 事件处理程序中添加了以下代码。

procedure CreateHelpButton (ParentForm   : TSetupForm ; 
                            X            : integer ;
                            Y            : integer ;
                            W            : integer ;
                            H            : integer) ;

var
  HelpButton : TNewButton ;
begin
  HelpButton         := TNewButton.Create (ParentForm) ;
  HelpButton.Left    := X ;
  HelpButton.Top     := Y ;
  HelpButton.Width   := W ;
  HelpButton.Height  := H ;
  HelpButton.Caption := '&Help' ;
  HelpButton.OnClick := @HelpButtonOnClick ;
  HelpButton.Parent  := ParentForm ;
end;

procedure InitializeWizard () ;

begin
  CreateHelpButton (
    WizardForm, ScaleX (20), WizardForm.CancelButton.Top,
    WizardForm.CancelButton.Width, WizardForm.CancelButton.Height) ;
end;  

See this post for details on how to include a file with the installation package and reference that file before installation has started.

To add a button to the install wizard, I included the following code in the InitializeWizard event handler.

procedure CreateHelpButton (ParentForm   : TSetupForm ; 
                            X            : integer ;
                            Y            : integer ;
                            W            : integer ;
                            H            : integer) ;

var
  HelpButton : TNewButton ;
begin
  HelpButton         := TNewButton.Create (ParentForm) ;
  HelpButton.Left    := X ;
  HelpButton.Top     := Y ;
  HelpButton.Width   := W ;
  HelpButton.Height  := H ;
  HelpButton.Caption := '&Help' ;
  HelpButton.OnClick := @HelpButtonOnClick ;
  HelpButton.Parent  := ParentForm ;
end;

procedure InitializeWizard () ;

begin
  CreateHelpButton (
    WizardForm, ScaleX (20), WizardForm.CancelButton.Top,
    WizardForm.CancelButton.Width, WizardForm.CancelButton.Height) ;
end;  
美人迟暮 2024-11-08 18:03:23

只是为了完成列表:

procedure HelpButtonOnClick(Sender: TObject);
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('installer.chm');

  if (FileExists(ExpandConstant('{tmp}\installer.chm'))) then
  begin
    ShellExec('', ExpandConstant('{tmp}\installer.chm'), '', ExpandConstant('{tmp}'), SW_SHOW, ewNoWait, ResultCode);
  end;
end;

Just to complete the listing:

procedure HelpButtonOnClick(Sender: TObject);
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('installer.chm');

  if (FileExists(ExpandConstant('{tmp}\installer.chm'))) then
  begin
    ShellExec('', ExpandConstant('{tmp}\installer.chm'), '', ExpandConstant('{tmp}'), SW_SHOW, ewNoWait, ResultCode);
  end;
end;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文