【问题标题】:Clickable banner/ header image in Setup program安装程序中可点击的横幅/标题图像
【发布时间】:2012-11-29 10:21:22
【问题描述】:

我需要使用 NSIS 或 InnoSetup 制作 Windows 安装程序。客户希望在安装程序对话框/向导页面中显示图像,并且图像需要是可点击的,例如单击时打开浏览器窗口。 这可能吗?如果可以,是否也可以使用 gif 动画?

【问题讨论】:

  • 好吧,说到 InnoSetup,那些对话框将被自定义对话框替换(因为它们是 Windows),而这是不可能的脚本。在向导页面上这不是问题。动画 GIF,不支持没有扩展。
  • 你能给我一个链接或一个关于如何使横幅图像可点击的小例子吗?我在 Google 上找不到任何内容。
  • 取决于横幅图片的含义。而是发布您如何想象该横幅的屏幕截图。例如the top area ?
  • 我想到了首页左侧的横幅tinypic.com/r/vrsm11/6,但顶部区域的示例也很好:)
  • 嗯嗯,早餐汉堡... :)

标签: installation inno-setup nsis


【解决方案1】:

要使欢迎页面的左侧图像可点击,您可以使用以下内容:

[Code]
procedure OnBannerClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('', 'http://www.stackoverflow.com', '', '', SW_SHOW, ewNoWait, 
    ErrorCode);
end;

procedure InitializeWizard;
begin
  WizardForm.WizardBitmapImage.Cursor := crHand;
  WizardForm.WizardBitmapImage.OnClick := @OnBannerClick;
end;

【讨论】:

    【解决方案2】:

    ....对于 NSIS 也是如此:

    !include MUI2.nsh
    !define MUI_PAGE_CUSTOMFUNCTION_SHOW MakeClickableWizardImage
    !insertmacro MUI_PAGE_WELCOME
    !insertmacro MUI_PAGE_INSTFILES
    !define MUI_PAGE_CUSTOMFUNCTION_SHOW MakeClickableWizardImage
    !insertmacro MUI_PAGE_FINISH
    !insertmacro MUI_LANGUAGE English
    
    Function OnWizardClick
    ExecShell "" "http://example.com"
    FunctionEnd
    
    Function MakeClickableWizardImage
    StrCpy $0 $mui.WelcomePage.Image
    ${If} $mui.FinishPage.Image <> 0
        StrCpy $0 $mui.FinishPage.Image
    ${EndIf}
    ${NSD_OnClick} $0 OnWizardClick
    FunctionEnd
    

    【讨论】:

      【解决方案3】:

      如果你想实现一个gif图像,你可以使用这个扩展:

      GifCTRL 2.1

      它是中文的,但示例 Inno 脚本显示了您需要的一切。

      【讨论】:

      • 谢谢,但是在编译测试脚本时,它会抛出一个错误:“未知类型'PChar'”。我希望有一些其他的好方法来展示它...... :(
      • @the_Ma5TeR ,尝试用 PansiChar 替换 PChar。
      猜你喜欢
      • 2014-11-14
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2013-07-15
      • 1970-01-01
      • 2017-09-29
      相关资源
      最近更新 更多