1

不知道为什么下面的代码在 NSIS 中不起作用。

我希望显示 abort retry , ignore 按钮,如果响应是 retry ,重新进入循环。如果中止,则转到标签中止。否则继续。

lbl_InvertorRunningCheck:
    FindProcDLL::FindProc "Invertor.exe"     
    ${if} $R0 == 1
        MessageBox MB_TOPMOST|MB_ICONEXCLAMATION|MB_ABORTRETRYIGNORE "Invertor process is running" IDRETRY lbl_InvertorRunningCheckIDABORT lbl_Abort ;
        lbl_Abort:
        Abort   
    ${EndIf}
4

1 回答 1

0

不确定您的错误是什么,但您在 lbl_InvertorRunningCheck 和 IDABORT 之间缺少一个空格。

如果选择了忽略,它将转到您的中止命令,因为您没有指定如果按下忽略应该发生什么。

尝试这个:

lbl_InvertorRunningCheck:
FindProcDLL::FindProc "Invertor.exe"     
${if} $R0 == 1
    MessageBox MB_TOPMOST|MB_ICONEXCLAMATION|MB_ABORTRETRYIGNORE "Invertor process is running" IDRETRY lbl_InvertorRunningCheck IDABORT lbl_Abort IDIGNORE lbl_Ignore
    lbl_Abort:
    Abort   
${EndIf}
lbl_Ignore:
于 2013-07-16T14:56:46.680 回答