相关文章推荐
心软的水煮肉  ·  Unity NavMeshAgent ...·  11 月前    · 
重感情的围巾  ·  Using Mouse Mammary ...·  1 年前    · 
不拘小节的小蝌蚪  ·  javascript - What ...·  1 年前    · 

LogicLib.nsh

程序的三种基本结构包括:顺序结构、分支结构、循环结构。顺序结构是最基本的结构,本文主要说明了如何在NSIS脚本中写出分支结构和循环结构。

最基本的分支结构和循环结构可以用StrCmp命令和Goto命令组成,但通过这种方式写出的代码可读性极差且难以调试。此时我们就需要用到头文件 LogicLib.nsh 中的功能了。

下面是一个示例程序,在“MyProgram”区域中输入我们要调试的代码:

!define DEBUG_PATH "E:\NSIS_Test\TmpProgram"
!define OUTPUT_PATH "E:\NSIS_Test\Output"
!define INSTALL_PATH "E:\NSIS_Test\Output"
!include LogicLib.nsh
Name "NSIS_VariableConstants_Test"
Caption "NSIS_VariableConstants_Test"
InstallDir ${INSTALL_PATH}
OutFile "Galatea.exe"
Section "My Program"
  SetOutPath ${OUTPUT_PATH}
  File /r "${DEBUG_PATH}\*.*"
  ; ----------------- 在这里输入要调试的代码 -----------------
SectionEnd

我使用 HM NSIS Edit 2.0.3 工具编辑NSIS脚本,使用编译工具 makensis.exe(版本号2.46) 进行编译。

逻辑代码结构 虽然可以 使用 StrCmp,IntCmp,IfErrore,Goto等命令来执行条件语句和循环语句。然而,还有更简单的方法。 Log i cLi b提供了一些非常简单的宏,使得一些复杂结构的构建变得简单。在 Log i cLi b. nsh 中对它的语法进行了解释,与其他的编程语言相似,对初学者和进阶者都很友好。 例如,不 使用 Log i cLi b库,对变量的校验方法 StrCmp $0 'some value' 0 +3 If|Unless..{ElseIf|ElseUnless}..[Else]..EndIf|EndUnless - 有条件的执行一个语句区块,取决于表达式。 AndIf|AndUnless|OrIf|OrUnless - 给 If、Unless、El . nsh 怎么样运行 介绍 (Introduction) It can often be difficult to manage multiple machines on a daily basis. While Secure Shell (SSH) is a good choice for remote access, the protocol itself has some drawback... var ysSetting nsis 还提供了寄存器,可读写变量: $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7, $R8, $R9 2.逻辑表达式 nsi... NSIS 官网(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。 NSIS 通过它的 脚本 语言来描述安装程序的行为和逻辑的。 1.1 下载地址 卸载时报错: 未定义 NSIS _CONFIG_ LOG 解决: 下载 NSIS log 模块 nsis -3.05- log .zip, 覆盖 NSIS 文件夹中同名文件即可 MessageBox MB_OK '$$0 is "$0"' ;$0是某个值 ${If} $0 == 'some value' MessageBox MB_OK '$$0 is some value' ${ElseIf} $0 == 'some other value' MessageBox MB_OK '$$0 is some other value' ${Else}