如何在Inno Setup安装向导左下角添加带链接的按钮/图片?
Inno Setup向导左下角添加带链接的按钮方案
要实现类似Inno Setup官方向导左下角的可点击链接按钮,你可以结合自定义控件定位和链接跳转逻辑来完成,不需要局限于单一位图方案。以下是具体实现步骤:
核心思路
- 在向导窗口的左下角区域添加自定义可点击控件(带样式的按钮)
- 为控件绑定点击事件,调用系统浏览器打开目标链接
- 调整控件样式、位置,匹配官方向导的视觉风格
完整代码实现
[Setup] AppName=MyApp AppVersion=1.0 DefaultDirName={autopf}\MyApp WizardStyle=modern [Code] procedure ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string; lpParameters: string; lpDirectory: string; nShowCmd: Integer); external 'ShellExecuteW@shell32.dll stdcall'; procedure DonateClick(Sender: TObject); begin // 替换为你的捐赠链接 ShellExecute(0, 'open', '你的捐赠链接地址', '', '', 1); end; procedure GitHubClick(Sender: TObject); begin // 替换为你的GitHub仓库链接 ShellExecute(0, 'open', '你的GitHub仓库地址', '', '', 1); end; procedure InitializeWizard(); var DonateBtn: TButton; GitHubBtn: TButton; WizardHeight: Integer; begin WizardHeight := WizardForm.Height; // 创建捐赠按钮 DonateBtn := TButton.Create(WizardForm); DonateBtn.Parent := WizardForm; DonateBtn.Caption := '捐赠支持'; DonateBtn.Left := 16; DonateBtn.Top := WizardHeight - 64; DonateBtn.Width := 80; DonateBtn.Height := 24; DonateBtn.OnClick := @DonateClick; DonateBtn.Flat := True; DonateBtn.Cursor := crHandPoint; // 创建GitHub按钮 GitHubBtn := TButton.Create(WizardForm); GitHubBtn.Parent := WizardForm; GitHubBtn.Caption := '访问GitHub'; GitHubBtn.Left := DonateBtn.Left + DonateBtn.Width + 8; GitHubBtn.Top := DonateBtn.Top; GitHubBtn.Width := 90; GitHubBtn.Height := 24; GitHubBtn.OnClick := @GitHubClick; GitHubBtn.Flat := True; GitHubBtn.Cursor := crHandPoint; end; procedure CurPageChanged(CurPageID: Integer); begin // 适配窗口大小变化,保持按钮在左下角 DonateBtn.Top := WizardForm.Height - 64; GitHubBtn.Top := WizardForm.Height - 64; end;
说明
- 用
TButton创建可点击按钮,设置Flat=True模拟官方链接按钮的扁平化风格 - 通过
ShellExecute调用系统浏览器打开外部链接,保证跨系统兼容性 CurPageChanged事件处理窗口缩放后的位置调整,避免控件错位- 可根据需求修改按钮的文字、尺寸、位置,也可以通过
Glyph属性为按钮添加图标
内容的提问来源于stack exchange,提问作者Lilith Helsente
相关产品推荐
相关产品推荐

