【发布时间】:2011-09-29 20:04:08
【问题描述】:
我正在开发 NSIS 安装程序。要求之一是允许用户为多个不同的条目多次输入某些信息(本质上,它允许他们为任意数量的服务器输入服务器信息)。我目前正在通过在我的高级选项页面之后转到此页面来回收这些页面:
Function RedirectPage
${If} $addtCheck <> 0 ; Was the checkbox checked?
StrCpy $startedXml 1 ; make this "true"
SendMessage $HWNDPARENT 0x408 -1 "" ; If so, go back
${Else}
Abort
${EndIf}
FunctionEnd
addtCheck 检查是否勾选了回收页面的复选框。如果是这样,此函数会导致上一页再次显示。问题是这些字段包含用户刚刚输入的信息。现在,我要做的是在返回之前清除上一页的所有字段的状态。我试过做这样的事情,
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioAdv.ini" "Field 2" "State" ""
但它似乎不允许我清除状态。我知道 SendMessage 和 GetDlgItem 命令,但我不知道有什么方法可以让我使用它们来清除 InstallOptions INI 文件中包含的文本框、复选框和列表框。
谁能指出我正确的方向,谢谢。如果你想看更多的剧本,请告诉我。
【问题讨论】:
标签: installation nsis