当前位置: > 部署 >

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

  • 部署
  • 2015-04-02 20:23

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

 

/*
这是一个使用自定义页面跳过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

 

猜你喜欢

最新评论

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!