在现在项目中,应用到NSIS打包. 因此对NSIS脚本,做了简单了解. 记录一下备忘.
添加一个 带 返回值的函数.
- Function simpleTest
- MessageBox MB_OKCANCEL|MB_ICONQUESTION \
- "点击确定取消"\
- /SD IDOK \
- IDOK ok \
- IDCANCEL cancel
- ok:
- Push "OK"
- Goto +2
- cancel:
- Push "CANCEL"
-
- FunctionEnd
测试,在.oninit中调用如下:
- Function .onInit
-
- Call simpleTest
- Pop $0
- ${If} $0 == "CANCEL"
- MessageBox MB_OK|MB_ICONEXCLAMATION "点击的是取消"
- ${Else}
- MessageBox MB_OK|MB_ICONEXCLAMATION "点击的是确定"
- ${EndIf}
-
- FunctionEnd
可以看到 函数的返回值 是手动push到 栈中,在外部在手动pop出来. 类似函数传参,也是手动push.在函数内pop出来.