精睿永恒心锁USBPE制作工具(界面开源)

1

https://yunpan.cn/crJQm2pAPUTBB (提取码:ee86)

 

/*编写 www.yhxs3344.net by yhxs3344 永恒心锁*/
!packhdr temp.dat 'cmd /c Copy /B temp.dat /B +www.yhxs3344.net.rar temp.dat' ;可去除
;变量声明
Var MSG
Var BGImage
Var MiddleImage ;中间的大Logo
Var ImageHandle
Var Close ;关闭按钮
Var mini ;最小化
Var diy ;个性设置
Var fud ;初始化优盘
Var help ;帮助说明
Var Iso ;ISO制作
Var oku ;一键制作启动盘
Var simulation ;
Var soft ;常用软件
Var upd ;升级U盘启动
Var usb ;优盘启动
Var website ;官方网站
Var topfont ;头部标题
;Var windows ;操作系统

;---------------------------全局编译脚本预定义的常量-----------------------------------------------------
; MUI 预定义常量
!define MUI_ABORTWARNING
;安装图标的路径名字
!define MUI_ICON "ico\usb.ico"
!define MUI_UI "UI\mod.exe" ;UI程序
;---------------------------设置软件压缩类型(也可以通过外面编译脚本控制)------------------------------------
SetCompressor lzma ;压缩
SetCompress force
XPStyle on
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI2.nsh"
!include "WinCore.nsh"
!include "nsWindows.nsh"
!define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit
;------------------------------------------------------
;自定义页面
Page custom WelcomePage
;------------------------------------------------------
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "SimpChinese"
;------------------------------------------------------
!define PRODUCT_VERSION "1.0.0.0" ;版本号
!define PRODUCT_NAME "Vc52Yhxs3344MakeUsbPe" ;生成的EXE名字
;----------------------------------------------------------------------------------------------------
;版本信息
VIProductVersion ${PRODUCT_VERSION}
VIAddVersionKey /LANG=2052 "${PRODUCT_NAME}" "${PRODUCT_VERSION}"
VIAddVersionKey /LANG=2052 "Comments" "yhxs3344.net"
VIAddVersionKey /LANG=2052 "CompanyName" "http://www.yhxs3344.net"
VIAddVersionKey /LANG=2052 "LegalTrademarks" "永恒心锁工作室"
VIAddVersionKey /LANG=2052 "LegalCopyright" "(C) yhxs3344.net All Rights Reserved."
VIAddVersionKey /LANG=2052 "FileDescription" "永恒心锁PE"
VIAddVersionKey /LANG=2052 "FileVersion" "${PRODUCT_VERSION}"
;------------------------------------------------------------------------------------------------------
; 检测程序是否已运行
!macro CheckRunningPrograms MutexName
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${MutexName}") i .r1 ?e'
Pop $R0
${If} $R0 <> 0
;另一个程序正在运行中!
Messagebox MB_TOPMOST|MB_ICONINFORMATION|MB_OK "安装程序已经在运行,请不要多次打开程序"
Quit
${EndIf}

!macroend

;------------------------------------------------------MUI 现代界面定义以及函数结束------------------------
;应用程序显示名字
Name "Vc52 Yhxs3344 Make Usb Pe"

;应用程序输出路径
OutFile "${PRODUCT_NAME}.exe"

Function .onInit
!insertmacro CheckRunningPrograms "${yhxs3344pesetup}" ;安装程序运行检测的变量
InitPluginsDir ;初始化插件

File "/oname=$PLUGINSDIR\SkinSE.dll" "Plugins\SkinSE.dll" ;皮肤插件

File `/ONAME=$PLUGINSDIR\bg.bmp` `img\bg.bmp` ;背景图片
File `/ONAME=$PLUGINSDIR\btn-close.bmp` `img\btn-close.bmp` ;关闭图片
File `/ONAME=$PLUGINSDIR\btn-min.bmp` `img\btn-min.bmp` ; 最小化图片
File `/ONAME=$PLUGINSDIR\btn-usb.bmp` `img\btn-usb.bmp` ; U盘启动图片
File `/ONAME=$PLUGINSDIR\btn-Iso.bmp` `img\btn-Iso.bmp` ; ISO制作图片
File `/ONAME=$PLUGINSDIR\btn-soft.bmp` `img\btn-soft.bmp` ; 常用工具图片
File `/ONAME=$PLUGINSDIR\btn-oku.bmp` `img\btn-oku.bmp` ; 一键制作启动优盘图片
File `/ONAME=$PLUGINSDIR\btn-help.bmp` `img\btn-help.bmp` ; 帮助中心图片
File `/ONAME=$PLUGINSDIR\btn-diy.bmp` `img\btn-diy.bmp` ; 个性设置图片
File `/ONAME=$PLUGINSDIR\btn-website.bmp` `img\btn-website.bmp` ; 官方网站图片
File `/ONAME=$PLUGINSDIR\heart.BMP` `img\heart.BMP` ; 中心说明图片
File `/ONAME=$PLUGINSDIR\btn-fud.bmp` `img\btn-fud.bmp` ; 初始化优盘图片
File `/ONAME=$PLUGINSDIR\btn-upd.bmp` `img\btn-upd.bmp` ; 升级优盘图片
File `/ONAME=$PLUGINSDIR\btn-simulation.bmp` `img\btn-simulation.bmp` ; 模拟启动图片

;使用ReserveFile是加快安装包展开速度,具体请看帮助
ReserveFile "img\btn-min.bmp"
ReserveFile "img\btn-close.bmp"
ReserveFile "img\btn-usb.bmp"
ReserveFile "img\btn-Iso.bmp"
ReserveFile "img\btn-soft.bmp"
ReserveFile "img\btn-oku.bmp"
ReserveFile "img\btn-help.bmp"
ReserveFile "img\btn-diy.bmp"
ReserveFile "img\btn-website.bmp"
ReserveFile "img\heart.BMP"
ReserveFile "img\btn-fud.bmp"
ReserveFile "img\btn-upd.bmp"
ReserveFile "img\btn-simulation.bmp"
;初始化
SkinBtn::Init "$PLUGINSDIR\btn-min.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-close.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-usb.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-Iso.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-soft.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-help.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-website.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-fud.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-upd.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-simulation.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-diy.bmp"
SkinBtn::Init "$PLUGINSDIR\btn-oku.bmp"
FunctionEnd

Function onGUIInit
;消除边框
System::Call `user32::SetWindowLong(i$HWNDPARENT,i${GWL_STYLE},0x9480084C)i.R0`
;隐藏一些既有控件
GetDlgItem $0 $HWNDPARENT 1034
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1035
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1036
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1037
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1038
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1039
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1256
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1028
ShowWindow $0 ${SW_HIDE}

${NSW_SetWindowSize} $HWNDPARENT 370 649 ;改变主窗体大小
System::Call User32::GetDesktopWindow()i.R0

FunctionEnd

;处理无边框移动
Function onGUICallback
${If} $MSG = ${WM_LBUTTONDOWN}
SendMessage $HWNDPARENT ${WM_NCLBUTTONDOWN} ${HTCAPTION} $0
${EndIf}
FunctionEnd

Function WelcomePage
GetDlgItem $0 $HWNDPARENT 1
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 2
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 3
ShowWindow $0 ${SW_HIDE}

nsDialogs::Create 1044
Pop $0
${If} $0 == error
Abort
${EndIf}
${NSW_SetWindowSize} $0 370 649 ;改变Page大小
;SetCtlColors $0 "" transparent ;背景设成透明

;最小化按钮
${NSD_CreateButton} 298 0 30 21 ""
Pop $mini
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-min.bmp $mini
GetFunctionAddress $3 mini
SkinBtn::onClick $mini $3

;关闭按钮
${NSD_CreateButton} 328 0 41 21 ""
Pop $close

SkinBtn::Set /IMGID=$PLUGINSDIR\btn-close.bmp $close
GetFunctionAddress $3 onABORT
SkinBtn::onClick $close $3
;U盘启动
${NSD_CreateButton} 2 81 88 36 ""
Pop $usb
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-usb.bmp $usb
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $usb $3

;ISO制作
${NSD_CreateButton} 90 81 88 36 ""
Pop $Iso
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-Iso.bmp $Iso
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $Iso $3

;常用软件
${NSD_CreateButton} 178 81 88 36 ""
Pop $soft
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-soft.bmp $soft
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $soft $3

;官方网站
${NSD_CreateButton} 266 81 88 36 ""
Pop $website
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-website.bmp $website
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $website $3

;一键制作启用优盘
${NSD_CreateButton} 121 520 128 24 ""
Pop $oku
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-oku.bmp $oku
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $oku $3

;帮助中心
${NSD_CreateButton} 92 585 80 24 ""
Pop $help
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-help.bmp $help
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $help $3

;个性设置
${NSD_CreateButton} 2 585 90 24 ""
Pop $diy
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-diy.bmp $diy
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $diy $3

;初始化优盘
${NSD_CreateButton} 139 553 88 24 ""
Pop $fud
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-fud.bmp $fud
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $fud $3

;模拟启动
${NSD_CreateButton} 227 553 100 24 ""
Pop $simulation
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-simulation.bmp $simulation
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $simulation $3

;升级优盘
${NSD_CreateButton} 41 553 98 24 ""
Pop $upd
SkinBtn::Set /IMGID=$PLUGINSDIR\btn-upd.bmp $upd
;GetFunctionAddress $3 onABORT
SkinBtn::onClick $upd $3

;中心说明
${NSD_CreateBitmap} 2 119 366 348 ""
Pop $0
${NSD_SetImage} $0 $PLUGINSDIR\heart.BMP $ImageHandle

; 头部标题文字
${NSD_Createlabel} 2 2 200 20 "精睿永恒心锁USBPE制作工具"
Pop $topfont
SetCtlColors $topfont F2EDEB transparent ;前景色,背景设成透明
CreateFont $topfont "宋体" 15 0 ;字体和大小

; 操作系统
/* ${NSD_Createlabel} 200 621 200 28 "操作系统"
Pop $windows
GetFunctionAddress $3 onwindows
SkinBtn::onClick $windows $3
SetCtlColors $windows F2EDEB transparent ;前景色,背景设成透明
CreateFont $windows $frontName "9" "1400" ;字体和字号
*/
;贴背景大图
${NSD_CreateBitmap} 0 0 100% 100% ""
Pop $BGImage
${NSD_SetImage} $BGImage $PLUGINSDIR\bg.bmp $ImageHandle

GetFunctionAddress $0 onGUICallback
WndProc::onCallback $BGImage $0 ;处理无边框窗体移动
nsDialogs::Show
${NSD_FreeImage} $ImageHandle

FunctionEnd

Function onABORT ;关闭命令
SendMessage $hwndparent ${WM_CLOSE} 0 0
KillProcDLL::KillProc $EXEFILE
FunctionEnd

Function mini ;最小化执行命令

ShowWindow $hwndparent ${SW_MINIMIZE}

FunctionEnd
 Section MainSetup
 SectionEnd
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容