Простой диалог ввода в NSIS - PullRequest
1 голос
/ 21 сентября 2011

В моем установщике NSIS я хочу отобразить диалоговое окно ввода (текст + текстовое поле) для пользователя и получить результат этого ввода, чтобы я мог использовать его позже в сценарии NSIS.

Я нашел эту справочную страницу:

http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.4.15

Но я не нашел ссылки на текстовое поле.

Если это поможет, мне нужен NSIS-эквивалент следующего кода AppleScript:

display dialog "Insert value:" default answer ""
set value to text returned of result

1 Ответ

2 голосов
/ 21 сентября 2011

Используйте nsDialogs или InstallOptions (обе части NSIS) для создания пользовательской страницы:

Outfile test.exe
Requestexecutionlevel user

!include nsDialogs.nsh

Page Custom mypagecreate mypageleave
Page Instfiles

Function mypagecreate
Var /Global MyTextbox
nsDialogs::Create /NOUNLOAD 1018
Pop $0
${NSD_CreateText} 10% 20u 80% 12u "Hello World"
Pop $MyTextbox
nsDialogs::Show
FunctionEnd

Function mypageleave
${NSD_GetText} $MyTextbox $0
MessageBox mb_ok $0
Abort ;Don't move to next page (If the input was invalid etc)
FunctionEnd

Section
SectionEnd

Всплывающие диалоги на самом деле не поддерживаются, но это можно сделать с помощью этого плагина ...

...