#压缩设置
SetCompressor /SOLID lzma
SetCompressorDictSize 32
SetDatablockOptimize on
SetCompress auto
#预先载入文件,方便安装加速释放
Reservefile "Res\iewb_net.ini"
ReserveFile "Res\header.bmp"
ReserveFile "${NSISDIR}\Plugins\System.dll"
#头文件
!include "MUI.nsh"
!include "logiclib.nsh"
!include "WinMessages.nsh"
!include "UsefulLib.nsh"
#界面相关
;只有单击"取消"才能取消安装
;!define MUI_ABORTWARNING
;!define MUI_ABORTWARNING_TEXT "你确定要退出?"
!define MUI_ICON "Res\io.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "Res\header.bmp"
!define MUI_CUSTOMFUNCTION_GUIINIT .MyGUIInit
!define MUI_FINISHPAGE_NOAUTOCLOSE
page custom show leave
#相关宏
!insertmacro MUI_LANGUAGE "SimpChinese"
#使用自定义UI
ChangeUI all "C:\Documents and Settings\Administrator\桌面\绿化工具\Contrib\default.exe"
#程序设置
Caption "绿化工具"
OutFile "绿化工具.exe"
XPStyle on
#程序执行前操作
Function .oninit
InitPluginsDir
;设置输出路径且当路径不存在时创建,设定当前的工作目录
SetOutPath $PluginsDIR
;释放文件
File "Res\iewb_net.ini"
;检测"要检测的文件"是否存在,当文件存在时跳转
;IfFileExists "$EXEDIR\*.exe" PathGood
;MessageBox MB_OK|MB_ICONEXCLAMATION|MB_TOPMOST "请把绿化工具复制到程序所在文件夹下运行。"
;Abort
;PathGood:
Functionend
#定义要创建的控件(ID不能重复,否则会产生未知错误!)
;定义关于按钮
!ifndef IDC_BUTTON
!define IDC_BUTTON 1190
!endif
;定义链接
!ifndef IDC_LINKER
!define IDC_LINKER 1200
!endif
;创建公共函数
!macro MYMACRO un
Function ${un}.AboutButton
MessageBox MB_OK|MB_ICONINFORMATION "启光博客$\nwww.iewb.net"
FunctionEnd
Function ${un}.MyGUIInit
InitPluginsDir
;创建按钮
;用法:${CreateButton2} 显示文本 X轴位置 Y轴位置 宽度 高度 父窗口窗口句柄 控件ID 目标函数
${CreateButton2} "关于(&A)" 118 192 68 18 $HWNDPARENT ${IDC_BUTTON} ${un}.AboutButton
;创建链接
${CreateLinker2} "启光博客" 20 194 80 $2 $HWNDPARENT ${IDC_LINKER} "http:/www.iewb.net"
FunctionEnd
Function ${un}.onGUIEnd
ButtonLinker::unload
FunctionEnd
!macroend
;插入安装函数
!insertmacro MYMACRO ""
#函数定义
Function show
installoptions::initdialog /nounload $PluginsDIR\iewb_net.ini
installoptions::show
Functionend
Function leave
ReadINIStr $0 "$PluginsDIR\iewb_net.ini" Settings State
${Switch} $0
${Default}
Abort
${Case} 2
Call inst
Abort
${Case} 3
Call uninst
Abort
${Case} 0
${EndSwitch}
Functionend
Function inst
;在这里放上绿化的代码
;………………..
;刷新屏幕
;System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
MessageBox MB_OK|MB_ICONINFORMATION "绿化完成!"
Return
FunctionEnd
Function uninst
;在这里放上卸载的代码
;………………..
MessageBox MB_OK|MB_ICONINFORMATION "卸载完成!"
Return
FunctionEnd
#区段定义
Section "-形式而已"
sectionend
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。丨本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途。丨本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
BY-NC-SA协议进行授权
转载请注明:永恒心锁-分享互联网 » nsis 绿化程序UI源码