K.A.V.,
Для справочника инфу ведь надо как то правильно оформлять...
Вот ещё занятный пример:
Установка на кнопку стандартной страницы, таймера с индикацией обратного отсчёта, т.е. задержка активности кнопки перед продолжением установки.
Например, для кнопки "Install" для PAGE_WELCOME или для кнопки "I Agree" для PAGE_LICENSE.
Где можно применить - например, чтобы пользователь перед установкой прочитал чего нибудь полезное, а не сразу клацал кнопками продолжения установки.
Для этого есть спец. DLL ( местонахождение DLL - рядом со скриптом, ессно при наличии в коде !AddPluginDir ".\" ) :
Код:
!AddPluginDir ".\"
Name "Delay the next button"
OutFile "Delay the next button.exe"
Caption "Delay the next button"
!include MUI2.nsh
!define MUI_CUSTOMFUNCTION_ABORT OnUserAbort
;таймер кнопки "Install" для PAGE_WELCOME
;!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicensePage
;!insertmacro MUI_PAGE_WELCOME
; или
;таймер кнопки "I Agree" для PAGE_LICENSE
!define MUI_PAGE_CUSTOMFUNCTION_SHOW LicensePage
!insertmacro MUI_PAGE_LICENSE "${__FILE__}"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English
Function LicensePage
GetDlgItem $0 $HWNDPARENT 1
Delay::DelayButton /NOUNLOAD $0 10 ""
Pop $1
FunctionEnd
Function .onGUIEnd
Delay::Free
FunctionEnd
Function OnUserAbort
Delay::Free
FunctionEnd
Section
SectionEnd
Значение задержки можно изменять (как - это очевидно в коде )