NSIS实现自定义选择数据保存目录窗口

NSIS实现如下界面,选择数据保存目录,这个窗口将会在选择安装目录窗口后出现

代码如下

Var DataDir         ;定义数据目录位置

!insertmacro MUI_PAGE_WELCOME   ;欢迎页面
!insertmacro MUI_PAGE_DIRECTORY ;调用NSIS选择目录窗口
Page custom SetCustom LeaveCustom  ;自定义窗口,选择数据目录
!insertmacro MUI_PAGE_FINISH  ;安装完成

Function SetCustom  ;窗口弹出前,设置窗口的显示内容
  WriteINIStr "$PLUGINSDIR\setup.ini" "Field 1" "Text" "选择数据保存的目录,接收邮箱地址薄、发送邮箱账户、宏、邮件模板、发送任务日志以及配置将保存在这里。"  
  WriteINIStr "$PLUGINSDIR\setup.ini" "Field 2" "Text" "数据保存目录"
  ;读取数据目录
  StrCpy $DataDir "C:\Users\Public\Documents\1and1Mail\"  ;默认数据目录
  WriteINIStr "$PLUGINSDIR\setup.ini" "Field 3" "State" $DataDir  ;将会显示在数据保存目录哪里
	
  InstallOptions::initDialog /NOUNLOAD "$PLUGINSDIR\setup.ini"
  !insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRECTORY_TITLE) $(MUI_TEXT_DIRECTORY_SUBTITLE)  ;"选定安装位置" "选定 $(^NameDA) 要安装的文件夹。"
  InstallOptions::show ;弹出窗口
  Pop $R0

FunctionEnd


Function LeaveCustom ;窗口结束后
; 判断用户输入的路径是否合法。 不知道怎么判断,有知道的可以告诉我

  ReadINIStr $DataDir "$PLUGINSDIR\setup.ini" "Field 3" State  ;读取新录入的内容
FunctionEnd

在本后面的安装过程中,可以将数据安装框 $DataDir 目录下


还有setup.ini文件如下,保存显示内容的位置,以及类型

[Settings]
NumFields=7


[Field 1] ;开头提示
Type=Label
Left=0
Right=310
Top=0
Bottom=26


[Field 2]  ;数据目录
Type=GroupBox
Left=0
Right=298
Top=70
Bottom=106


[Field 3] ;目录录入框
Type=DirRequest
Left=10
Right=254
Top=84
Bottom=97

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值