NSIS-FindProc

NSIS-FindProc,nsis,Nsis,不确定为什么下面的代码在NSIS中不起作用 我希望显示abortretry,ignore按钮,如果响应是retry,则重新进入循环。如果中止,则转到标签中止。否则继续 lbl_InvertorRunningCheck: FindProcDLL::FindProc "Invertor.exe" ${if} $R0 == 1 MessageBox MB_TOPMOST|MB_ICONEXCLAMATION|MB_ABORTRETRYIGNORE "Inver

不确定为什么下面的代码在NSIS中不起作用

我希望显示abortretry,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}

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

如果选择了Ignore,它将转到您的Abort命令,因为您没有指定在按下Ignore时应该发生什么

试试这个:

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: