NSIS火焰特效

浏览:35日期:2022-06-30

火焰特效制作方法有很多,专业的如PS但要在nsis中实现却并非易事,借助firectrl控件可以很方便的在nsis中制作火焰特效,让你感受不一样的界面效果,它是在界面显示之前先加载动态库,将所需处理的图片加载到内存,然后调用接口就可以实现这个特效了,像熊熊火焰在图片底部燃烧,看起来非常炫,那么具体是如何实现的呢,请下下面的代码.为了能够实现这个效果你必须先下载相应的插件哦. 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

标签: NSIS 脚本工具
相关文章: