Эффект "кругов на воде" на BMP рисунке.
Получается с помощью инносетаповской waterctrl.dll и следующего кода :
Код:
!AddPluginDir ".\"
!include MUI2.nsh
OutFile "WaterCtrl_test.exe"
ReserveFile waterctrl.dll
!define MUI_WELCOMEFINISHPAGE_BITMAP WizModernImage-Is.bmp
!define MUI_PAGE_CUSTOMFUNCTION_PRE pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_Pre pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"
Function .onGUIEnd
SetPluginUnload manual
waterctrl::disablewater
System::Free
FunctionEnd
Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
File waterctrl.dll
;SetOutPath $TEMP
FunctionEnd
Function Pre
; Load Image (LR_CREATEDIBSECTION|LR_LOADFROMFILE = 0x2010)
System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIR\modern-wizard.bmp",0,0,0,0x2010) .s'
Pop $R0
System::Call '$PLUGINSDIR\waterctrl::enablewater(i,i,i,i,i,i) i ($HWNDPARENT,0,0,$R0,3,50)'
System::Call '$PLUGINSDIR\waterctrl::setwaterparent(i $HWNDPARENT)'
System::Call '$PLUGINSDIR\waterctrl::flattenwater()'
System::Call '$PLUGINSDIR\waterctrl::waterblob(i,i,i,i) i (70,198,10,1000)'
FunctionEnd
Function leave
System::Call '$PLUGINSDIR\waterctrl::disablewater()'
FunctionEnd
Section
Sleep 300
SectionEnd
Недостаток - ощутимая задержка после запуска перед появлением страницы.