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

能否为NSIS的MUI_LICENSEPAGE_TEXT_BOTTOM添加超链接?附插件疑问

NSIS许可页底部文本添加超链接及Linker插件使用问题解答

一、Linker插件能否用于许可页底部文本

  • 可以。许可页底部的文本本质是静态标签控件(STATIC类),Linker插件支持为这类静态标签添加超链接,只要能获取到该控件的句柄即可。

二、关于FindWindow $0 "#32770" "" $HWNDPARENT的说明

  • #32770不是窗口编号,它是Windows系统中通用对话框的类名(所有标准对话框都使用这个类名)。
  • 要定位许可页底部的文本控件,不能直接用FindWindow,应该用FindWindowEx从许可页对话框(父窗口句柄为$HWNDPARENT)中查找子控件:
    • 可通过控件文本定位:匹配MUI_LICENSEPAGE_TEXT_BOTTOM定义的内容
    • 也可通过MUI预设的控件ID定位(许可页底部文本控件ID为1043)

完整实现示例

!include "MUI2.nsh"
!include "Linker.nsh"

!define license "license.txt"
!define MUI_LICENSEPAGE_TEXT_BOTTOM "Click this link -> http://www.google.com/"
!define MUI_PAGE_CUSTOM_SHOW LicensePage_Show

!insertmacro MUI_PAGE_LICENSE "${license}"
!insertmacro MUI_PAGE_INSTFILES

!insertmacro MUI_LANGUAGE "English"

Function LicensePage_Show
  ; 通过控件ID查找许可页底部文本控件句柄
  FindWindowEx $0 $HWNDPARENT "" "" 1043
  ${If} $0 != 0
    ; 为控件设置超链接
    Linker::LinkWindow $0 "http://www.google.com/"
    Pop $1 ; 捕获返回值,可根据需求处理
  ${EndIf}
FunctionEnd

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:17:39