`

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的环境变量

    NSIS通常改变环境变量,特别是PATH变量来指定指定位置的库文件,文档详细描述了修改代码

    NSIS+Duilib自定义安装程序

    NSIS+Duilib自定义安装程序

    NSIS+Duilib 自定义安装程序

    使用NSIS+Duilib 自定义安装界面,支持生成快捷图标、开机启动项、快速启动栏

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

    NSIS 中系统特殊路径变量基础知识 列举了脚本中(32/64位)众多常用及非常用的命令变量,帮助你轻松了解NSIS中的变量

    NSIS安装包制作教程详细版

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

    NSIS安装包制作工具

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

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

    nsis插件开发(dll开发)案例 实现了一个win7上的选择安装目录弹框,而不是xp那种老式选择目录弹窗

    NSIS卸载保留文件夹

    NSIS卸载保留文件夹

    NSIS v2.51 集成增强版 - 20180306

    NSIS通过它的脚本语言来描述安装程序的行为和逻辑的,因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言——但它是为安装程序这类...

    NSIS-中文帮助文档

    NSIS-中文帮助文档 NSIS 用户手册 新闻、信息、支持、例子、指南等可以到 http://nsis.sf.net 查看。 快速链接: FAQ - 常见问题列表 NSIS Wiki - 例子、函数、指南、插件、软件等等 Forum - 发表你的问题或进行 ...

    NSIS安装工具.rar

    NSIS System 插件 NSIS VPatch 3.1插件 NSIS InstallOptions 2 插件 NSIS Modern UI(新式用户界面... 实现 NSIS 自定义页面中的控件操作代码 如何使用NSIS实现多目录安装设置 如何用NSIS在加入注册表 用NSIS 制作

    NSIS_SetupSkin:NSIS打包工具,基于XML可自定义UI

    NSIS_SetupSkin:NSIS打包工具,基于XML可自定义UI

    NISI自定义安装界面,源代码以及配套环境安装包

    NISI自定义安装界面,源代码以及配套环境安装包,支持新入手的人使用,包含所有插件,资料齐全,新人入手到自定义安装界面必选

    NSIS-Unicode.7z NSIS

    NSIS-Unicode.7z NSIS

    NSIS脚本实例NSIS脚本实例

    NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例

    NSIS v2.51 集成增强中文版 - 20160601

    NSIS通过它的脚本语言来描述安装程序的行为和逻辑的,因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言——但它是为安装程序这类...

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

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

    NSIS2.46汉化版NSIS2.46汉化版

    NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版NSIS2.46汉化版

    NSIS用户手册(中文版)

    NSIS 用户手册 新闻、信息、支持、例子、指南等可以到 http://nsis.sf.net 查看。 快速链接: FAQ - 常见问题列表 NSIS Wiki - 例子、函数、指南、插件、软件等等 Forum - 发表你的问题或进行 NSIS 相关讨论 版权...

    NSIS中文帮助

    NSIS 中文用户手册(v2.05...脚本语言支持变量、函数、字串操作,就像一个普通的程序语言一样 - 但是设计来创建安装程序。即使有那么多的特性,NSIS 仍然是最小的安装程序系统。在默认选项下,它仅增加了 34 KB 的开销。

Global site tag (gtag.js) - Google Analytics