我可以使用MessageBox
MB_OK
and MB_OKCANCEL
,但是当我尝试使用IDOK
and时编译器会抛出错误IDCANCEL
。
我的 NSIS 版本是 2.46。
MessageBox
使用 OK 和 Cancel 按钮调用的基本语法是:
MessageBox MB_OKCANCEL "my message" IDOK label_for_ok IDCANCEL label_for_cancel
label_for_ok:
;do some stuff
goto end_label ;for not executing the "cancel" branch
label_for_cancel:
;do some other stuff
end_label:
在这种情况下,由于 ok 情况就在 之后,您可以在下一行Messagebox
删除和 标签。IDOK label_for_ok
(对不起这个小小的自我宣传)
您可以使用我的名为Visual & Installer ( http://www.unsigned-softworks.sk/visual-installer/ ) 的工具来检查 Visual Studio 中 NSIS 脚本中的正确语法和用法,以避免此类情况:
正如你所看到的,它有一个非常好的语法高亮,当你移动一些命令时,会显示一个工具提示,并且(如果你查看错误列表)你可以看到 PROGRAM_NAME 被识别为未使用,因为它没有在脚本片段中定义。