Button NSIS消息框自定义按钮

Button NSIS消息框自定义按钮,button,nsis,Button,Nsis,我知道之前有人问过这个问题,我发现有几个帖子他们说不,但我最近看到的帖子是2014年发布的,所以我想我会检查一下,看看是否有我缺少的新功能 有没有办法将消息框按钮更改为自定义文本?因此,我可以使用卸载重新安装取消来代替是取消 有几个消息框我需要有这种能力 如果选项是编写自定义插件,有人能帮我这么做吗?这会让我不知所措吗?NSIS只使用Windows功能,不允许您设置按钮文本 最好的选择是定制插件,但我怀疑是否有人愿意仅仅因为您的要求很好就为您编写一个插件。你可以在NSIS论坛上询问是否有人愿意花

我知道之前有人问过这个问题,我发现有几个帖子他们说不,但我最近看到的帖子是2014年发布的,所以我想我会检查一下,看看是否有我缺少的新功能

有没有办法将消息框按钮更改为自定义文本?因此,我可以使用卸载重新安装取消来代替是取消

有几个消息框我需要有这种能力

如果选项是编写自定义插件,有人能帮我这么做吗?这会让我不知所措吗?

NSIS只使用Windows功能,不允许您设置按钮文本

最好的选择是定制插件,但我怀疑是否有人愿意仅仅因为您的要求很好就为您编写一个插件。你可以在NSIS论坛上询问是否有人愿意花一点钱做这件事

作为一种解决方法,您可以使用内置页面上的创建具有自定义设计的嵌套对话框:

!include nsDialogs.nsh
!include DlgHost.nsh

Page InstFiles

Function CloseDlgHostDialog
Pop $0
DlgHost::Close
FunctionEnd

Function DoSomethingElse
Pop $0
MessageBox mb_ok "Hello"
FunctionEnd

Function MyDlgBoxCallback
${Select} $0
${Case} ${DLGHOST_DLGBOXMSG_INITDLG}
    nsDialogs::Create 1018
    Pop $1
    DlgHost::SetClient $1

    ${NSD_CreateLabel} 25% 20% 45% 15u "Hello from nsDialogs..."
    Pop $1
    ${NSD_CreateButton} 10u 60% 50u 15u "&Close"
    Pop $1
    ${NSD_OnClick} $1 CloseDlgHostDialog

    ${NSD_CreateButton} 70u 60% 80u 15u "&Do something else"
    Pop $1
    ${NSD_OnClick} $1 DoSomethingElse

${Case} ${DLGHOST_DLGBOXMSG_SHOWDLG}
    nsDialogs::Show
${EndSelect}
FunctionEnd

Function ShowNSDChildDlg
GetFunctionAddress $0 MyDlgBoxCallback
DlgHost::DlgBox "* $0 p 200u 120u Test Dialog"
FunctionEnd

Section
Call ShowNSDChildDlg
SectionEnd