gpt4 book ai didi

nsis - 避免 NSIS 中的重复函数代码

转载 作者:行者123 更新时间:2023-12-01 23:25:22 44 4
gpt4 key购买 nike

目前,我有以下脚本代码。

Section "Uninstall"
...
...
Call un.DeleteDirIfEmpty
SectionEnd


Function GetJRE
; Call must not be used with functions starting with "un." in the non-uninstall sections.
Call
FunctionEnd


Function un.DeleteDirIfEmpty
...
...
FunctionEnd

Function DeleteDirIfEmpty
...
...
FunctionEnd

注意,我需要提供2个版本的DeleteDirIfEmpty,这样才能在非卸载段和卸载段执行相同的操作。

它们的代码相同,只是命名不同。 un.DeleteDirIfEmptyDeleteDirIfEmpty

怎么可能只有一个函数,但可以被任何部分调用?

最佳答案

看看\Include\Util.nsh,它是用来把宏变成函数的:

!include Util.nsh

!macro MyFunction
MessageBox mb_ok "Hello World"
!macroend
!define MyFunction "${CallArtificialFunction} MyFunction"

Section
${MyFunction}
SectionEnd

注意:要删除空目录,只需使用 RMDir(不带/r 开关)

关于nsis - 避免 NSIS 中的重复函数代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8292053/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com