如何在安装程序中包含和使用文本字段

时间:2010-07-12 13:17:55

标签: textbox nsis

我想将许可证检查包含在我的NSIS安装程序中。简单的文本字段和按钮对我来说已经足够了,但我没有找到任何示例如何将文本字段(文本框)包含到页面中以及如何读取其值。

请帮帮我吗?

2 个答案:

答案 0 :(得分:2)

您可以使用它来创建文本字段:

!include nsDialogs.nsh
!include LogicLib.nsh
...
Var EDIT
...
${NSD_CreateText} 0 35 100% 12u SomeDefaultText
Pop $EDIT

获取输入(对此不确定):

System::Call user32::GetWindowText(i$EDIT,t.r0,i${NSIS_MAX_STRLEN})

(如示例\ nsDialogs \ example.nsi中所示)

答案 1 :(得分:1)

我遇到了这个问题并找到了不同的解决方案:

!include nsDialogs.nsh
!include LogicLib.nsh

...

Page custom MyPageFunc MyPageFuncLeave

...

Var txt
Var myTextBox

...

Function MyPageFunc
    nsDialogs::Create 1018
    ${NSD_CreateLabel} 0 0 50u 10u "Username:"
    ${NSD_CreateText} 70 0 100u 12u ""
    Pop $myTextBox
    nsDialogs::Show
FunctionEnd

Function MyPageFuncLeave
    ${NSD_GetText} $myTextBox $txt
FunctionEnd

后来的页面及其功能可以访问$ txt,其中包含文本框中的文本。