请把轻狂志网址 www.flighty.cn 加入收藏夹,其他俱为假冒,谨防被骗!赞助请点 这里!找东东请用右边的搜索 ===>
02 2015-04

NSIS:使用自定义页面实现跳过MUI常规页面功能

作者:少轻狂 | 发布:2015-04-02 | 更新:2015-04-02 | 分类:部署 | Disposition | 热度:

这个需求源自于轻狂精品资源交流群中一位同学的问题,看看下面轻狂写的示例,你会发现,其实这个功能实现起来很简单,不是么?关键是要活学活用!

 

/*
这是一个使用自定义页面跳过MUI常规页面的例子
脚本编写:少轻狂 www.flighty.cn

跳到上一页面:
SendMessage $HWNDPARENT 0x408 -1 0
直接跳到相对当前页面的下n个页面:
SendMessage $HWNDPARENT 0x408 n 0
*/

!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
;这个自定义页面的作用即是跳过下面的目录选择页面
Page custom nsDialogsPage
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "SimpChinese"

Var Dialog                   ;自定义

Name "跳过页面示例"
OutFile "跳过页面示例.exe"
InstallDir "$PROGRAMFILES\PotPlayer"


Section
SectionEnd

Function nsDialogsPage

	nsDialogs::Create /NOUNLOAD 1018
	Pop $Dialog

	${If} $Dialog == error
		Abort
	${EndIf}
	
	;从当前页面算起,跳过2个页面,
	;如果你要根据条件选择是否跳过,可以在这里加IF,
	;然后把SendMessage $HWNDPARENT 0x408 2 0改为SendMessage $HWNDPARENT 0x408 1 0
	;即只跳过这个自定义页面
	SendMessage $HWNDPARENT 0x408 2 0
	
	nsDialogs::Show

FunctionEnd

 

标签:NSIS;自定义(1)页面(1)跳过(1)