`

NSIS通过变量进入不同的自定义页

    博客分类:
  • NSIS
 
阅读更多
nsis 相对跳转页面

跳到上一页面:
SendMessage $HWNDPARENT 0x408 N 0
SendMessage $HWNDPARENT 0x408 -1 0

直接跳到相对当前页面的下1个页面可以这样:
SendMessage $HWNDPARENT 0x408 N 0
SendMessage $HWNDPARENT 0x408 1 0
____________________________________________________
自定义页面跳转
问题:假设有两个单选按钮, 选择1切换PageY页面, 选择2切换PageS页面。
利用ysSetting 变量, 如果ysSetting是Y, 显示PageY的页面, 否则显示PageS的页面。






1.首先我们有3个 自定义页面
;Page.ini 为第一个页面
[Settings]
NumFields=3

[Field 1]
Type=GroupBox
Left=2
Right=-1
Top=20
Bottom=-55
Text=选择院/所:

[Field 2]
Type=RadioButton
Text=院级
Left=10
Right=40
Top=35
Bottom=65
State=1
Flags=

[Field 3]
Type=RadioButton
Text=所级
Left=60
Right=90
Top=35
Bottom=65
State=0
Flags=



2.利用逻辑语句切换ini文件
Page Custom PagePre PageLeave

;动态页面
Page Custom PageYorSPre PageYorSLeave

Function .OnInit
  InitPluginsDir
  File /oname=$PLUGINSDIR\page.ini "Page.ini"
  File /oname=$PLUGINSDIR\pageY.ini "PageY.ini"
  File /oname=$PLUGINSDIR\pageS.ini "PageS.ini"
FunctionEnd

Function PagePre
  !insertmacro MUI_HEADER_TEXT "设置院所" "请选择安装级别(院级/所级)"
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "page.ini"
FunctionEnd

Function PageLeave
  !insertmacro MUI_INSTALLOPTIONS_READ $0 "page.ini" "Field 2" "State"

	${If} $0 == 1
		StrCpy $ysSetting "Y"
	${Else}
		StrCpy $ysSetting "S"
	${EndIf}

FunctionEnd


关键代码
Function PageYorSPre
	${if} $ysSetting != "S"
	  !insertmacro MUI_HEADER_TEXT "设置院" "请填写管理所个数"
  	!insertmacro MUI_INSTALLOPTIONS_DISPLAY "pageY.ini"
	${Else}
	   !insertmacro MUI_HEADER_TEXT "设置所" "请勾选创建库类型"
  	 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "pageS.ini"
	${EndIf}
FunctionEnd

Function PageYorSLeave
FunctionEnd

  • 大小: 5.4 KB
  • 大小: 15.5 KB
  • 大小: 17.8 KB
分享到:
评论

相关推荐

    NSIS+Duilib 自定义安装程序

    【NSIS+Duilib 自定义安装程序】 NSIS(Nullsoft Scriptable Install System)是一款流行的...通过熟练掌握NSIS和Duilib,你可以构建出一个既美观又功能强大的自定义安装程序,提升用户对软件的第一印象和使用体验。

    NSIS 中系统特殊路径变量基础知识.pdf

    在NSIS中,对于不同系统版本的路径问题,NSIS提供了灵活的变量来应对64位和32位操作系统的差异。例如,使用$PROGRAMFILES64代表64位系统上的C:\Program Files路径,而$PROGRAMFILES32代表32位系统上的C:\Program ...

    NSIS+Duilib自定义安装程序

    在描述中提到的"NSIS+Duilib自定义安装程序",意味着开发者使用NSIS作为安装程序的基础框架,并利用Duilib来设计和实现个性化的安装界面,以提升用户体验。 具体操作步骤通常包括以下几个方面: 1. **环境准备**:...

    NSIS安装包制作工具

    包括NSIS安装包、NSIS编辑器以及很全的NSIS常用插件: NSIS 的插件 需要配合 Nullsoft Scriptable Install System(NSIS专业安装包制作工具) 才能使用。 NSIS 中文版下载地址: ...

    nsis插件开发(dll开发)案例

    NSIS(Nullsoft Scriptable Install System...通过这个案例,开发者不仅学习了DLL的开发,还掌握了如何将自定义功能集成到NSIS安装程序中,提高了用户体验。这对于创建具有定制化界面和功能的安装程序是非常有价值的。

    windows下安装包制作软件:NSIS的使用方法(以electron为例)

    NSIS(Nullsoft Scriptable Install System)是一款流行的开源安装包制作工具,主要用于Windows平台,它允许开发者使用脚本语言创建自定义的安装、卸载程序。NSIS的强大之处在于其灵活性和可扩展性,可以满足各种...

    NSIS安装包制作教程详细版

    实现 NSIS 自定义页面中的控件操作代码 如何使用NSIS实现多目录安装设置 如何用NSIS在加入注册表 用NSIS 制作自己的安装程序 bluewind 的 wmp9 nsis安装脚本 NSIS安装脚本简明教程 取得winamp的NSIS脚本的...

    NSIS 安装程序 可以实现组件选择安装

    NSIS 安装程序 可以实现组件选择安装 可以排斥选择 这个安装程序是用向导生成 然后往里面添加的代码

    NSIS中文手册.zip

    3. **用户界面**:NSIS可以创建自定义的安装界面,通过`Page`指令添加页面,如欢迎页、许可协议页、选择安装路径页和完成页等。用户可以通过`/nsi`或`/silent`参数实现无界面的静默安装。 4. **安装逻辑**:通过`...

    NSIS 安装包制作仿酷狗界面

    最近研究NSIS安装包制作。...全部通过页面输入变量获取, 所有刷库,修改xml,iis配置通过脚本完成。 界面正在研究中,附件为仿酷狗的界面。 如果有什么疑问可以一起讨论怎么调用IIS, 修改, 文件替换。

    NSIS卸载保留文件夹

    它允许开发者通过简单的脚本语言来控制安装过程中的每一个细节,包括文件复制、注册表操作、自定义界面等。 #### 二、卸载逻辑与保留文件夹 在给定的脚本中,“NSIS卸载保留文件夹”主要涉及的是在卸载软件时如何...

    nsis打包脚本

    3. **用户交互**:NSIS支持自定义安装界面,通过`Page`命令可以创建对话框,如许可协议页、目标路径选择页等。利用`OutFile`命令指定生成的EXE文件名,`Name`命令设定安装程序的显示名称。 4. **变量和注册表操作**...

    NSIS安装程序制作工具v3.09增强版.zip

    它的全称是“Nullsoft可脚本化安装系统”,它允许开发者通过编写脚本来创建功能丰富的安装、卸载程序,支持自定义界面,提供丰富的功能选项,包括文件复制、注册表操作、设置环境变量等。NSIS v3.09增强版是对原版的...

    NSIS打包工具图文教程集锦

    NSIS的优势在于其脚本化的特性,允许开发者通过简单的脚本语言编写安装逻辑,支持自定义界面、文件操作、注册表编辑、权限管理等众多功能。它以其灵活性和易用性,成为许多开发者首选的安装包制作工具。 一、NSIS...

    NSIS使用教程档.zip_nsis

    2. **可定制性**:NSIS提供了丰富的内置函数和插件,可以实现各种自定义功能,如文件操作、注册表编辑、设置环境变量、安装卸载启动项等。 3. **多语言支持**:NSIS支持添加多种语言,只需为每种语言提供对应的翻译...

    NSIS安装包.zip

    3. **NSIS脚本语言**:NSIS脚本语言是NSIS的核心,它允许开发者通过简单易懂的语法定义安装过程中的各种行为,如文件复制、注册表操作、许可协议、自定义用户界面等。在脚本中,开发者可以使用预定义的函数和指令,...

    nsis特别汉化版

    2. `hb-nsis-2.46-setup-jun.exe`:这个可能是另一个NSIS 2.46版本的汉化包,可能包含了额外的汉化工作或者由不同的团队进行本地化处理,供用户选择安装。 3. `绿盟.url`:这是一个网址快捷方式,可能指向NSIS的...

    NSIS-Unicode.7z NSIS

    - **跨平台**:尽管NSIS主要用于Windows,但它可以在不同版本的Windows上运行,包括64位系统。 总结,"NSIS-Unicode.7z NSIS"是一个包含NSIS工具和资源的压缩包,特别关注Unicode支持,使开发者能够创建多语言的、...

    NSIS 防酷狗安装包无边框打包实例

    在“NSIS 防酷狗安装包无边框打包实例”中,我们主要探讨如何利用NSIS脚本实现一个自定义外观的安装包,特别是隐藏默认边框并添加自定义背景图,以达到类似酷狗安装包的无边框效果。 首先,我们需要了解NSIS的基本...

Global site tag (gtag.js) - Google Analytics