#Region ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
#AccAu3Wrapper_Icon=D:\多彩图标\apps\brave.ico
#AccAu3Wrapper_Outfile=C:\Users\Administrator\Desktop\一键安装PE到硬盘.exe
#AccAu3Wrapper_UseX64=n
#AccAu3Wrapper_Res_Comment=一键安装PE
#AccAu3Wrapper_Res_Description=一键安装PE
#AccAu3Wrapper_Res_Fileversion=1.0.0.62
#AccAu3Wrapper_Res_LegalCopyright=重庆麻花腾@2021
#AccAu3Wrapper_Res_Language=2052
#AccAu3Wrapper_Res_requestedExecutionLevel=highestAvailable
#AccAu3Wrapper_Add_Constants=y
#AccAu3Wrapper_Run_Tidy=y
#AccAu3Wrapper_Run_Au3Stripper=y
#Au3Stripper_Parameters=/sf=0 /sv=0
#AccAu3Wrapper_Antidecompile=y
#EndRegion ;**** 由 AccAu3Wrapper_GUI 创建指令 ****
; *** AutoIt3Wrapper 开始 ***
#include <EditConstants.au3>
; *** AutoIt3Wrapper 结束 ***
; *** AutoIt3Wrapper 开始 ***
#include <APIErrorsConstants.au3>
; *** AutoIt3Wrapper 结束 ***
; *** AutoIt3Wrapper 开始 ***
#include <ButtonConstants.au3>
; *** AutoIt3Wrapper 结束 ***
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Constants.au3>
#include <AutoItConstants.au3>
#include <guiConstants.au3>
#include <WinAPI.au3>
#include <WinAPIFiles.au3>
#include <Process.au3>
_WinAPI_Wow64EnableWow64FsRedirection(False)
FileSetAttrib(@ScriptDir & "\pf.ini", "+h", 1)
If IniRead(@ScriptDir & "\PF.ini", "PF", "PF", "") = 1 Then
_SKIN()
Else
If IniRead(@ScriptDir & "\PF.ini", "PF", "PF", "") = 2 Then
_SKIN1()
EndIf
EndIf
If FileExists(@ScriptDir & "\WindowsPE\boot.wim") Then
Else
DirCreate(@ScriptDir & "\WindowsPE")
FileInstall("D:\au3\qt\WindowsPE\boot.sdi", @ScriptDir & "\WindowsPE\boot.sdi", 1)
FileInstall("D:\au3\qt\WindowsPE\bootmgfw.efi", @ScriptDir & "\WindowsPE\bootmgfw.efi", 1)
FileInstall("D:\au3\qt\WindowsPE\pesetup.exe", @ScriptDir & "\WindowsPE\pesetup.exe", 1)
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件," _
& @CRLF & "请将PE内核文件放在当前目录WindowsPE下并命名为:" _
& @CRLF & " 7PE.wim、8PE.wim、boot.wim" _
& @CRLF & "最低要求里面必须有一个PE内核才能运行," _
& @CRLF & "退出后请按要求执行!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
Exit
EndIf
$mht = GUICreate("一键安装PE到硬盘(在线重装)", 650, 400)
;~ GUICtrlSetDefBkColor(0x0080FF)
GUICtrlCreateGroup("", 2, 64, 646, 335)
GUICtrlCreateGroup("", 8, 110, 337, 260)
GUICtrlCreateGroup("", 350, 110, 290, 260)
FileInstall("D:\au3\QT\10.JPG", @TempDir & "\10.JPG", 1)
$pic = GUICtrlCreatePic(@TempDir & "\10.JPG", 0, 0, 650, 62)
GUICtrlSetState($pic, 128)
FileDelete(@TempDir & "\10.jpg")
GUICtrlCreateLabel("", 10, 107, 630, 1, $SS_BLACKRECT)
GUICtrlCreateLabel("计算机信息", 20, 78, 165, 24, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
$os = GUICtrlCreateLabel("□极速下载原版系统", 190, 78, 130, 24, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetTip(-1, "下载后安装 PE,进入PE时会自动挂载下载的光盘镜像," _
& @CRLF & "并通过一键安装系统,这就是在线一键重装的原理 " _
& @CRLF & "前提:必须用麻花腾PE内核才行。")
$ML = GUICtrlCreateLabel("文件目录:WindowsPE", 335, 78, 150, 24, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
$dx = GUICtrlCreateLabel("", 490, 78, 150, 24, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetTip(-1, "目录为当前目录(WindowsPE)请将PE内核文件放在此目录")
GUICtrlCreateLabel("安装到:", 400, 124, 60, 24, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
$cd = GUICtrlCreateCombo("", 465, 122, 100, 20)
GUICtrlSetData($cd, "D|C", "C")
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$PF = GUICtrlCreateCheckbox("", 585, 122, 20, 24)
GUICtrlSetTip(-1, "更换主题")
$mr = GUICtrlCreateCheckbox("", 610, 122, 20, 24)
GUICtrlSetTip(-1, "恢复默认")
GUICtrlCreateLabel("", 355, 156, 280, 1, $SS_BLACKRECT)
$7PE = GUICtrlCreateRadio("Win7PE", 375, 171, 70, 20, $BS_CENTER, $BS_VCENTER)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetState($7PE, 128)
$8PE = GUICtrlCreateRadio("Win8PE", 460, 171, 70, 20, $BS_CENTER, $BS_VCENTER)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetState($8PE, 128)
$10PE = GUICtrlCreateRadio("Win10PE", 545, 171, 70, 20, $BS_CENTER, $BS_VCENTER)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlCreateLabel("", 355, 210, 280, 1, $SS_BLACKRECT)
$sr = GUICtrlCreateLabel("✈", 365, 230, 20, 20, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
$sn = GUICtrlCreateInput("☆☆☆☆", 395, 230, 60, 20, $ES_PASSWORD, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 8.5, 400, 1, "微软雅黑")
$js = GUICtrlCreateCheckbox("解锁", 475, 230, 70, 20, $BS_CENTER, $BS_VCENTER)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
$ss = GUICtrlCreateCheckbox("上锁", 560, 230, 70, 20, $BS_CENTER, $BS_VCENTER)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlCreateLabel("", 355, 270, 280, 1, $SS_BLACKRECT)
$reboot = GUICtrlCreateCheckbox("安装后是否重启电脑进入PE?", 400, 285, 190, 24, $BS_CENTER, $BS_VCENTER)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
$Pro2 = GUICtrlCreateProgress(8, 375, 634, 16)
GUICtrlSetState($10PE, 128)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("", 355, 318, 280, 1, $SS_BLACKRECT)
$TS = GUICtrlCreateLabel("需要帮助请加QQ群:171400760", 360, 335, 275, 30, BitOR(0x1, 0x0300))
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlSetColor(-1, 0x000000)
GUICtrlCreateLabel("CPU:", 15, 125, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$cpu = GUICtrlCreateLabel("", 60, 125, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("显卡:", 15, 160, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$display = GUICtrlCreateLabel("", 60, 160, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("声卡:", 15, 195, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$sound = GUICtrlCreateLabel("", 60, 195, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("网卡:", 15, 230, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$network = GUICtrlCreateLabel("", 60, 230, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("内存:", 15, 265, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$mem = GUICtrlCreateLabel("", 60, 265, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("系统:", 15, 300, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$oss = GUICtrlCreateLabel("", 60, 300, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("引导:", 15, 335, 40, 30, $SS_LEFT)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
$ub = GUICtrlCreateLabel("", 60, 335, 280, 30, $SS_LEFT)
GUICtrlSetFont(-1, 9, 400, 1, "微软雅黑")
GUICtrlCreateLabel("", 10, 372, 630, 1, $SS_BLACKRECT)
info()
_ub()
GUISetState(@SW_SHOW)
FileInstall("D:\AU3\bat\SystemDownload.cmd", @TempDir & "\2.cmd", 1)
$iSize = DirGetSize(@ScriptDir & "\WindowsPE\", 0)
GUICtrlSetData($dx, "文件总大小: " & Round($iSize / 1024 / 1024000, 2) & 'GB')
If IniRead(@ScriptDir & "\sn.ini", "sn", "sn", "") = '1435' Then
_kx()
GUICtrlSetData($js, "已解锁")
GUICtrlSetData($ss, "上锁")
Else
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $mr
IniWrite(@ScriptDir & "\PF.ini", "PF", "PF", "0")
Run("一键安装PE到硬盘.exe")
Exit
Case $PF
If _IsChecked($PF) Then
_SKIN()
IniWrite(@ScriptDir & "\PF.ini", "PF", "PF", "1")
Else
_SKIN1()
IniWrite(@ScriptDir & "\PF.ini", "PF", "PF", "2")
EndIf
Case $os
ShellExecuteWait(@TempDir & "\2.cmd")
ProcessWaitClose("cmd.exe")
GUICtrlSetData($TS, "正在移动文件到D盘,请稍候")
_Move()
GUICtrlSetData($TS, "党和人民交给的任务光荣完成!")
Sleep(2000)
GUICtrlSetData($TS, "需要帮助请加QQ群:171400760")
Case $ss
FileDelete(@ScriptDir & "\sn.ini")
GUICtrlSetData($ss, "已上锁")
GUICtrlSetData($js, "解锁")
GUICtrlSetState($js, 4)
GUICtrlSetData($sn, "☆☆☆☆")
_kxx()
Case $js
SN()
GUICtrlSetData($sn, "☆☆☆☆")
Case $7PE
If GUICtrlRead($cd, 1) = 'C' Then
DirRemove("D:\WindowsPE", 1)
_7Pe()
Else
If GUICtrlRead($cd, 1) = 'D' Then
DirRemove("C:\WindowsPE", 1)
_7PeD()
EndIf
EndIf
Case $8PE
If GUICtrlRead($cd, 1) = 'C' Then
DirRemove("D:\WindowsPE", 1)
_8Pe()
Else
If GUICtrlRead($cd, 1) = 'D' Then
DirRemove("C:\WindowsPE", 1)
_8PeD()
EndIf
EndIf
Case $10PE
If GUICtrlRead($cd, 1) = 'C' Then
DirRemove("D:\WindowsPE", 1)
_10Pe()
Else
If GUICtrlRead($cd, 1) = 'D' Then
DirRemove("C:\WindowsPE", 1)
_10PeD()
EndIf
EndIf
Case $sn
IniWrite(@ScriptDir & "\sn.ini", "sn", "sn", GUICtrlRead($sn))
FileSetAttrib(@ScriptDir & "\sn.ini", "+h")
Case $reboot
If _IsChecked($reboot) Then
GUICtrlSetData($reboot, "安装后直接重启电脑进入PE")
Else
GUICtrlSetState($reboot, 4)
GUICtrlSetData($reboot, "安装后是否重启电脑进入PE?")
EndIf
EndSwitch
WEnd
Func info()
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colSettings = $objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
$colMemory = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
$colCPU = $objWMIService.ExecQuery("Select * from CIM_Processor")
$colVideoinfo = $objWMIService.ExecQuery("Select * from Win32_VideoController")
$colSound = $objWMIService.ExecQuery("Select * from Win32_SoundDevice")
$colMouse = $objWMIService.ExecQuery("Select * from Win32_PointingDevice")
$colMonitor = $objWMIService.ExecQuery("Select * from Win32_DesktopMonitor")
$colNIC = $objWMIService.ExecQuery("Select * from Win32_NetworkAdapter WHERE Netconnectionstatus = 2")
For $object In $colCPU
GUICtrlSetData($cpu, StringStripWS($object.Name, 1))
Next
For $object In $colVideoinfo
GUICtrlSetData($display, StringStripWS($object.Description, 1))
Next
For $object In $colSound
GUICtrlSetData($sound, StringStripWS($object.Description, 1))
Next
For $object In $colNIC
GUICtrlSetData($network, StringStripWS($object.name, 1))
Next
For $objOperatingSystem In $colSettings
GUICtrlSetData($oss, $objOperatingSystem.Caption) ; & $objOperatingSystem.BuildNumber)
Next
For $object In $colMemory
GUICtrlSetData($mem, String(Round(Number($object.TotalPhysicalMemory) / (1024 * 1024 * 1024))) & " GB")
Next
EndFunc ;==>info
Func _ub()
DllCall("Kernel32.dll", "dword", "GetFirmwareEnvironmentVariableW", "wstr", "", "wstr", '{00000000-0000-0000-0000-000000000000}', "wstr", Null, "dword", 0)
If _WinAPI_GetLastError() = $ERROR_INVALID_FUNCTION Then
GUICtrlSetData($ub, '本机引导方式为:' & ' ' & 'BIOS')
Else
GUICtrlSetData($ub, '本机引导方式为:' & ' ' & 'UEFI')
EndIf
EndFunc ;==>_ub
Func _Move()
If FileExists("C:\Users\Public\Desktop\Windows10_x64_zh-cn.iso") Then
FileMove("C:\Users\Public\Desktop\Windows10_x64_zh-cn.iso", "D:\XT\", 1 + 8)
Else
If FileExists("C:\Users\Public\Desktop\Windows7_x64_zh-cn.iso") Then
FileMove("C:\Users\Public\Desktop\Windows7_x64_zh-cn.iso", "D:\XT\", 1 + 8)
Else
If FileExists("C:\Users\Public\Desktop\Windows11_x64_zh-cn.iso") Then
FileMove("C:\Users\Public\Desktop\Windows11_x64_zh-cn.iso", "D:\XT\", 1 + 8)
EndIf
EndIf
EndIf
EndFunc ;==>_Move
Func _REBOOT()
GUICtrlSetData($reboot, "安装后直接重启电脑进入PE")
If _IsChecked($reboot) Then
RunWait(@ComSpec & ' /c ' & 'bcdedit /bootsequence {ffffffff-3600-11de-8e71-fffffffffffe}', '', @SW_HIDE)
Shutdown(2)
Else
GUICtrlSetState($reboot, 4)
GUICtrlSetData($reboot, "安装后是否重启电脑进入PE?")
EndIf
EndFunc ;==>_REBOOT
Func _kx()
GUICtrlSetState($7PE, 64)
GUICtrlSetState($8PE, 64)
GUICtrlSetState($10PE, 64)
EndFunc ;==>_kx
Func _kxx()
GUICtrlSetState($7PE, 128)
GUICtrlSetState($8PE, 128)
GUICtrlSetState($10PE, 128)
EndFunc ;==>_kxx
Func SN()
$snn = GUICtrlRead($sn) = '1435'
If $js = $snn Then
_kx()
GUICtrlSetData($js, "已解锁")
GUICtrlSetState($js, 1)
GUICtrlSetData($ss, "上锁")
GUICtrlSetState($ss, 4)
Else
MsgBox(266272, "特别提示!!!", " 密码错误,如已赞助请再次输入。如果你没有赞助, " _
& @CRLF & "请加微信(w14358899)赞助10元告诉你密码!谢谢理解!")
GUICtrlSetState($js, 4)
GUICtrlSetData($js, "解锁")
EndIf
EndFunc ;==>SN
Func _bat()
If FileExists("C:\WindowsPE\boot.wim") Then
FileInstall("D:\au3\bat\bcdc.exe", @TempDir & "\", 1)
RunWait(@TempDir & "\bcdc.exe")
Sleep(1000)
FileDelete("C:\WindowsPE\10PE.wim")
FileDelete("C:\WindowsPE\8PE.wim")
FileDelete("C:\WindowsPE\7PE.wim")
FileDelete(@TempDir & "\bcdc.exe")
_REBOOT()
GUICtrlSetData($TS, "安装完成,进入PE请按快捷键(Ctrl+Alt+A)")
Sleep(5000)
GUICtrlSetData($TS, "需要帮助请加QQ群:17140076")
FileCreateShortcut("C:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "C:\WindowsPE\pesetup.exe", "", "", "C:\WindowsPE\pesetup.exe", "^!a")
Else
If FileExists("D:\WindowsPE\boot.wim") Then
FileInstall("D:\au3\bat\bcdd.exe", @TempDir & "\", 1)
RunWait(@TempDir & "\bcdd.exe")
Sleep(1000)
FileDelete("C:\WindowsPE\10PE.wim")
FileDelete("C:\WindowsPE\8PE.wim")
FileDelete("C:\WindowsPE\7PE.wim")
FileDelete(@TempDir & "\bcdd.exe")
_REBOOT()
GUICtrlSetData($TS, "安装完成,进入PE请按快捷键(Ctrl+Alt+A)")
Sleep(5000)
GUICtrlSetData($TS, "需要帮助请加QQ群:17140076")
FileCreateShortcut("D:\WindowsPE\pesetup.exe", "D:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "D:\WindowsPE\pesetup.exe", "", "", "D:\WindowsPE\pesetup.exe", "^!a")
EndIf
EndIf
EndFunc ;==>_bat
Func _7Pe()
If FileExists(@ScriptDir & "\WindowsPE\7PE.wim") Then
ProgressCopy("WindowsPE", "C:\WindowsPE")
FileCopy("C:\WindowsPE\7PE.wim", "C:\WindowsPE\boot.wim", 1)
FileSetAttrib("C:\WindowsPE", "+H")
FileCreateShortcut("C:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "C:\WindowsPE\pesetup.exe", "", "", "C:\WindowsPE\pesetup.exe", "^!a")
_bat()
Else
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件(7PE.wim),无法安装,确定退出。")
EndIf
EndFunc ;==>_7Pe
Func _8Pe()
If FileExists(@ScriptDir & "\WindowsPE\8PE.wim") Then
ProgressCopy("WindowsPE", "C:\WindowsPE")
FileCopy("C:\WindowsPE\8PE.wim", "C:\WindowsPE\boot.wim", 1)
FileSetAttrib("C:\WindowsPE", "+H")
FileCreateShortcut("C:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "C:\WindowsPE\pesetup.exe", "", "", "C:\WindowsPE\pesetup.exe", "^!a")
_bat()
Else
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件(8PE.wim),无法安装,确定退出。")
EndIf
EndFunc ;==>_8Pe
Func _10Pe()
If FileExists(@ScriptDir & "\WindowsPE\boot.wim") Then
ProgressCopy("WindowsPE", "C:\WindowsPE")
FileSetAttrib("C:\WindowsPE", "+H")
_bat()
FileCreateShortcut("C:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "C:\WindowsPE\pesetup.exe", "", "", "C:\WindowsPE\pesetup.exe", "^!a")
Else
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件(boot.wim),无法安装,确定退出。")
EndIf
EndFunc ;==>_10Pe
Func _7PeD()
If FileExists(@ScriptDir & "\WindowsPE\7PE.wim") Then
ProgressCopy("WindowsPE", "D:\WindowsPE")
FileCopy("D:\WindowsPE\7PE.wim", "D:\WindowsPE\boot.wim", 1)
FileSetAttrib("C:\WindowsPE", "+H")
FileCreateShortcut("D:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "D:\WindowsPE\pesetup.exe", "", "", "D:\WindowsPE\pesetup.exe", "^!a")
_bat()
Else
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件(7PE.wim),无法安装,确定退出。")
EndIf
Exit
EndFunc ;==>_7PeD
Func _8PeD()
If FileExists(@ScriptDir & "\WindowsPE\8PE.wim") Then
ProgressCopy("WindowsPE", "D:\WindowsPE")
FileCopy("C:\WindowsPE\8PE.wim", "D:\WindowsPE\boot.wim", 1)
FileSetAttrib("D:\WindowsPE", "+H")
FileCreateShortcut("D:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "D:\WindowsPE\pesetup.exe", "", "", "D:\WindowsPE\pesetup.exe", "^!a")
_bat()
Else
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件(8PE.wim),无法安装,确定退出。")
EndIf
EndFunc ;==>_8PeD
Func _10PeD()
If FileExists(@ScriptDir & "\WindowsPE\boot.wim") Then
ProgressCopy("WindowsPE", "D:\WindowsPE")
FileSetAttrib("D:\WindowsPE", "+H")
_bat()
FileCreateShortcut("D:\WindowsPE\pesetup.exe", "C:\ProgramData\Microsoft\Windows\Start Menu\一键进入PE(Ctrl+Alt+A)", "D:\WindowsPE\pesetup.exe", "", "", "D:\WindowsPE\pesetup.exe", "^!a")
Else
MsgBox(262176, "提示!", "没有发现当前目录WindowsPE文件夹里有PE内核文件(boot.wim),无法安装,确定退出。")
EndIf
EndFunc ;==>_10PeD
Func ProgressCopy($current, $destination, $UseMultiColour = 0, $attrib = "-R", $overwrite = 1, $Run1 = 0)
If $Run1 = 0 Then
Global $OverallQty, $Overall, $source, $overallpercent, $Pro0Text, $Pro, $ProText, $Pro2, $Pro2Text, $LocalPercent
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
If Not FileExists($destination) Then DirCreate($destination) ; This is why it was failing, the dir did not exist
$source = $current
If StringRight($current, 1) = '\' Then $current = StringTrimRight($current, 1)
If StringRight($destination, 1) <> '\' Then $destination = $destination & "\"
$tosearch = $current
$Overall = DirGetSize($tosearch, 1)
$OverallQty = $Overall[1]
$Run1 = 1
EndIf
$Size = DirGetSize($current, 3)
$Qty = $Size[1]
Local $search = FileFindFirstFile($current & "\*.*")
While 1
Dim $file = FileFindNextFile($search)
If @error Or StringLen($file) < 1 Then ExitLoop
If Not StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
$Qty -= 1
$LocalPercent = 100 - (($Qty / $Size[1]) * 100)
$OverallQty -= 1
$overallpercent = 100 - (($OverallQty / $Overall[1]) * 100)
GUICtrlSetData($Pro2, $LocalPercent)
GUICtrlSetData($TS, "正在处理文件,请稍候......")
If $UseMultiColour Then
GUICtrlSetColor($Pro, _ChangeColour($overallpercent))
EndIf
FileCopy($current & "\" & $file, $destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $overwrite)
FileSetAttrib($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $attrib)
EndIf
If StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
DirCreate($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file)
FileSetAttrib($destination & StringTrimLeft($current, StringLen($source)) & "\" & $file, $attrib)
ProgressCopy($current & "\" & $file, $destination, $UseMultiColour, $attrib, $overwrite, 1)
EndIf
WEnd
FileClose($search)
If $overallpercent = 100 Then
GUICtrlSetData($Pro, 100)
$Run1 = 0
EndIf
EndFunc ;==>ProgressCopy
Func _ChangeColour($start)
$Redness = Int(255 - ($start / 100 * 512))
If $Redness < 0 Then $Redness = 0
$Greeness = Int(($start / 100 * 512) - 257)
If $Greeness < 0 Then $Greeness = 0
$Blueness = Int(255 - ($Redness + $Greeness))
Return ($Redness * 256 * 256) + ($Greeness * 256) + $Blueness
EndFunc ;==>_ChangeColour
Func _SKIN1()
FileInstall("D:\au3\Skins\细边框灰.she", @TempDir & "\Rea风格.she", 1)
FileInstall("D:\au3\Skins\Skin.dll", @TempDir & "\", 1)
$skins = @TempDir & "\Rea风格.she."
$Dll = DllOpen(@TempDir & "\Skin.dll")
DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
FileDelete(@TempDir & "\Rea风格.she")
EndFunc ;==>_SKIN1
Func _SKIN()
FileInstall("D:\au3\Skins\高雅淡绿.she", @TempDir & "\Rea风格.she", 1)
FileInstall("D:\au3\Skins\Skin.dll", @TempDir & "\", 1)
$skins = @TempDir & "\Rea风格.she."
$Dll = DllOpen(@TempDir & "\Skin.dll")
DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
DllCall($Dll, "int", "SkinH_SetAero", "int", 1)
FileDelete(@TempDir & "\Rea风格.she")
EndFunc ;==>_SKIN
Func _IsChecked($idControlID)
Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked