(有興趣的用戶不妨將下面這段代碼復制到NSIS插件中運行看看)
/*
if you have this effects,please keep!
Writer:【Mr.Z_production ·JUAN】
http://blog.163.com/53_54
Thanks:Restools,zhfi,X-Star
*/
!AddPluginDir "."
!AddIncludeDir "."
!include MUI2.nsh
; --------------------------------------------------
; General settings.
Name "Flame_Effects Example"
OutFile "NSIS_fire.exe"
SetCompressor /SOLID lzma
ReserveFile "${NSISDIR}Pluginssystem.dll"
ReserveFile firectrl.dll
; --------------------------------------------------
; MUI interface settings.
!define MUI_FINISHPAGE_NOAUTOCLOSE
; --------------------------------------------------
; Insert MUI pages.
!define MUI_WELCOMEFINISHPAGE_BITMAP WizModernImage-Is.bmp
; Installer pages
!define MUI_PAGE_CUSTOMFUNCTION_PRE pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!define MUI_WELCOMEPAGE_TEXT "火焰效果"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_Pre pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!insertmacro MUI_PAGE_FINISH
; --------------------------------------------------
; Languages.
!insertmacro MUI_LANGUAGE "english"
Function .onGUIEnd
SetPluginUnload manual
firectrl::disablefire
System::Free
FunctionEnd
Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
File firectrl.dll
SetOutPath $TEMP
FunctionEnd
Function Pre
System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIRmodern-wizard.bmp",0,0,0,0x10) .s'
Pop $R0
System::Call '$PLUGINSDIRfirectrl::enablefire(i,i,i,i,i) i ($HWNDPARENT,0,0,$R0,50)'
FunctionEnd
Function leave
System::Call '$PLUGINSDIRfirectrl::disablefire()'
FunctionEnd
Section "Dummy" SecDummy
SectionEnd