|  | 
| 是的,代码在下面
 
 #NoTrayIcon
 #Region ;**** 参数创建于 AutoIt3Wrapper_GUI ****
 #AutoIt3Wrapper_Icon=..\..\万能GHOT备份&恢复.ico
 #AutoIt3Wrapper_Outfile=..\..\万能GHOT备份&恢复.exe
 #AutoIt3Wrapper_Compression=4
 #AutoIt3Wrapper_Res_Comment=运行参数 /yjbf 静默设置备份 /yjhf 静默设置恢复 /cancel 取消已有的设置
 #AutoIt3Wrapper_Res_Description=一键备份&恢复程序
 #AutoIt3Wrapper_Res_Fileversion=1.2.0.0
 #AutoIt3Wrapper_Res_LegalCopyright=JS
 #AutoIt3Wrapper_Res_SaveSource=y
 #AutoIt3Wrapper_Res_Icon_Add=..\..\bf.ico
 #AutoIt3Wrapper_Res_Icon_Add=..\..\hf.ico
 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
 #include <GUIConstants.au3>
 If $CmdLine[0] >= 1 Then
 If $CmdLine[1] = "/yjbf" Then
 SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:\")
 FileInstall("JSGH.img", "c:\JS\")
 FileInstall("Ghost.exe", "c:\JS\")
 $BFGhostIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($BFGhostIni, "cls" & @CRLF)
 FileWrite($BFGhostIni, "@echo off" & @CRLF)
 FileWrite($BFGhostIni, "attrib -r -s -h %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($BFGhostIni, "del %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($BFGhostIni, "xmsman -c>nul" & @CRLF)
 FileWrite($BFGhostIni, "Ghost.exe -nousb -clone,mode=pdump,src=1:1,dst=d:\Ghost\winxpsp2.gho -z1 -sure -fro -rb ")
 FileClose($BFGhostIni)
 DirCreate("d:\Ghost\")
 FileInstall("Ghost.exe", "d:\Ghost\Ghost.exe")
 SplashOff()
 Exit
 EndIf
 If $CmdLine[1] = "/yjhf" Then
 If FileExists("d:\GHOST\WINXPSP2.gho") = 0 Then
 MsgBox(262160, "找不到文件", "找不到d:\GHOST\WINXPSP2.gho " & Chr(13) & "请保证GHO文件在d:\GHOST\ ,两秒后会自动关闭", 2)
 Exit
 Else
 $Info = SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:\")
 FileInstall("JSGH.img", "c:\JS\")
 FileInstall("Ghost.exe", "c:\JS\")
 $HFGhostIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($HFGhostIni, "cls" & @CRLF)
 FileWrite($HFGhostIni, "@echo off" & @CRLF)
 FileWrite($HFGhostIni, "attrib -r -s -h %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($HFGhostIni, "del %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($HFGhostIni, "xmsman -c>nul" & @CRLF)
 FileWrite($HFGhostIni, "Ghost.exe -nousb -clone,mode=pload,src=d:\Ghost\WINXPSP2.GHO:1,dst=1:1 -sure -fro -rb")
 FileClose($HFGhostIni)
 DirCreate("d:\Ghost")
 FileCopy("c:\ghost\*.*", "d:\Ghost", 9)
 SplashOff()
 EndIf
 EndIf
 If $CmdLine[1] = "/cancel" Then
 If FileExists("c:\JS\boot.bak") = 1 Then
 FileSetAttrib("C:\boot.ini", "-RSH")
 FileCopy("c:\JS\boot.bak", "c:\boot.ini", 9)
 FileSetAttrib("C:\boot.ini", "+RSH")
 FileSetAttrib("C:\jsgh", "-RSH")
 FileDelete("c:\jsgh")
 DirRemove("c:\JS", 1)
 Else
 MsgBox(262160, "没有备份/还原请求", "没有备份/还原请求,两秒后自动关闭", 2)
 EndIf
 Exit
 EndIf
 EndIf
 GUICreate("万能GHOT备份/恢复", 400, 330, -1, -1)
 GUISetFont(9, 400)
 FileInstall("logo.gif", "c:\")
 GUICtrlCreatePic("c:\logo.gif", 0, 0, 0, 0)
 FileDelete("c:\logo.gif")
 GUICtrlCreateTab(5, 80, 390, 227)
 ;第一分页
 $Tab1 = GUICtrlCreateTabItem("说明")
 GUICtrlCreateGroup("", 15, 100, 370, 200)
 GUICtrlCreateLabel(" 欢迎使用榔头华硕一键还原V2014!" & Chr(13) & Chr(13) & " 一键备份:系统将会自动重启进入DOS运行ghost备份C盘到d:\ghost\winxpsp2.gho,备份完后自动重启,正常进入桌面。" & Chr(13) & " 一键恢复:系统将会自动重启进入DOS运行ghost恢复C盘从d:\ghost\winxpsp2.gho,恢复完后自动重启,正常进入桌面。" & Chr(13) & Chr(13) & " 手工操作,手工操作提供更自由的选项,备份/恢复更自由!" & Chr(13) & Chr(13) & " 本程序支持FAT32、NTFS分区、双硬盘!", 35, 115, 345, 120)
 $NotBFHF = GUICtrlCreateButton("撤销备份/恢复请求", 50, 250, 300, 30)
 $YJBF = GUICtrlCreateButton("一键备份", 25, 250, 100, 30)
 $YJHF = GUICtrlCreateButton("一键恢复", 150, 250, 100, 30)
 $DOS = GUICtrlCreateButton("GHOST手工操作", 275, 250, 100, 30)
 If FileExists("c:\jsgh") = 1 Then
 GUICtrlSetState($YJBF, $GUI_HIDE)
 GUICtrlSetState($YJHF, $GUI_HIDE)
 GUICtrlSetState($DOS, $GUI_HIDE)
 GUICtrlSetState($NotBFHF, $GUI_SHOW)
 Else
 GUICtrlSetState($NotBFHF, $GUI_HIDE)
 EndIf
 ;第二分页
 $Tab2 = GUICtrlCreateTabItem("备份")
 GUICtrlCreateGroup("备份分区:", 20, 110, 130, 50)
 $BFCombo1 = GUICtrlCreateCombo("", 85, 105, 50, 20)
 $BFVar1 = DriveGetDrive("FIXED")
 If Not @error Then
 For $Var1i = 1 To $BFVar1[0]
 GUICtrlSetData(-1, $BFVar1[$Var1i], "c:")
 Next
 EndIf
 $BFLabel1 = GUICtrlCreateLabel("已用空间", 25, 130, 120, 20)
 GUICtrlSetData($BFLabel1, "c:已用空间:" & Round((DriveSpaceTotal("c:") - DriveSpaceFree("c:")) / 1024, 2) & "G")
 $BFLabel2 = GUICtrlCreateLabel("可用空间", 25, 145, 120, 20)
 GUICtrlSetData($BFLabel2, "d:可用空间:" & Round(DriveSpaceFree("d:\") / 1024, 2) & "G")
 GUICtrlCreateGroup("备份选项:", 165, 110, 120, 50)
 $BFCombo2 = GUICtrlCreateCombo("", 170, 125, 100, 17)
 GUICtrlSetData(-1, "不压缩 |快速压缩|高压缩 |最高压缩", "快速压缩")
 GUICtrlCreateGroup("GHO文件路径:", 20, 165, 350, 45)
 $BFInput1 = GUICtrlCreateInput("D:\ghost\WINXPSP2.GHO", 30, 185, 250, 17)
 $BFButton1 = GUICtrlCreateButton("选择", 290, 185, 50, 20)
 GUICtrlCreateGroup("高级选项:", 25, 215, 335, 55)
 $BFCheckbox1 = GUICtrlCreateCheckbox("自定义GHOST核心", 130, 225, 110, 17)
 $BFCheckbox2 = GUICtrlCreateCheckbox("隐藏GHO文件", 255, 225, 90, 17)
 $BFInput2 = GUICtrlCreateInput("", 35, 245, 250, 17)
 GUICtrlSetState($BFInput2, $GUI_HIDE)
 $BFButton2 = GUICtrlCreateButton("选择", 300, 243, 50, 20)
 GUICtrlSetState($BFButton2, $GUI_HIDE)
 FileInstall("bf.gif", "c:\")
 GUICtrlCreatePic("c:\bf.gif", 300, 115, 0, 0)
 FileDelete("c:\bf.gif")
 $BFOK = GUICtrlCreateButton("确定", 50, 278, 300, 22)
 ;第三分页
 $Tab3 = GUICtrlCreateTabItem("恢复")
 GUICtrlCreateGroup("恢复分区:", 20, 110, 130, 50)
 $HFCombo1 = GUICtrlCreateCombo("", 85, 105, 50, 20)
 $HFVar1 = DriveGetDrive("FIXED")
 If Not @error Then
 For $Var1i = 1 To $HFVar1[0]
 GUICtrlSetData(-1, $HFVar1[$Var1i], "c:")
 Next
 EndIf
 $HFLabel1 = GUICtrlCreateLabel("全部空间", 25, 135, 120, 20)
 GUICtrlSetData($HFLabel1, "c:全部空间:" & Round(DriveSpaceTotal("c:") / 1024, 2) & "G")
 GUICtrlCreateGroup("GHO文件路径:", 20, 165, 350, 45)
 $HFInput1 = GUICtrlCreateInput("D:\ghost\WINXPSP2.GHO", 30, 185, 250, 17)
 $HFButton1 = GUICtrlCreateButton("选择", 290, 185, 50, 20)
 GUICtrlCreateGroup("高级选项:", 25, 215, 335, 55)
 $HFCheckbox1 = GUICtrlCreateCheckbox("自定义GHOST核心", 130, 225, 110, 17)
 $HFCheckbox2 = GUICtrlCreateCheckbox("忽略 CRC 错误", 255, 225, 95, 17)
 $HFInput2 = GUICtrlCreateInput("", 35, 245, 250, 17)
 GUICtrlSetState($HFInput2, $GUI_HIDE)
 $HFButton2 = GUICtrlCreateButton("选择", 300, 243, 50, 20)
 GUICtrlSetState($HFButton2, $GUI_HIDE)
 FileInstall("hf.gif", "c:\")
 GUICtrlCreatePic("c:\hf.gif", 300, 115, 0, 0)
 FileDelete("c:\hf.gif")
 $HFOK = GUICtrlCreateButton("确定", 50, 278, 300, 22)
 ;第四分页
 $Tab4 = GUICtrlCreateTabItem("关于榔头华硕")
 GUICtrlCreateGroup("", 15, 100, 370, 200)
 GUICtrlCreateGroup("", 55, 120, 290, 160)
 GUICtrlCreateLabel("榔头华硕一键还原系统V2014", 160, 150, 160, 20)
 GUICtrlSetColor(-1, 0x008080)
 GUICtrlCreateLabel("程序制作:吴敬李", 160, 170, 113, 20)
 GUICtrlCreateLabel("完成日期:2014年1月6日", 160, 190, 140, 20)
 GUICtrlCreateLabel("内置GHOST版本:V11.0.2.1575", 100, 210, 180, 20)
 $mailto = GUICtrlCreateLabel("Email:115642873@qq.com", 100, 230, 138, 20)
 GUICtrlSetCursor(-1, 0)
 GUICtrlSetColor(-1, 0x0000FF)
 GUICtrlCreateLabel("鸣谢:无忧、YlmF、Skyfree", 100, 250, 200, 13)
 GUICtrlSetColor(-1, 0xFF0000)
 FileInstall("icon.gif", "c:\")
 GUICtrlCreatePic("c:\icon.gif", 65, 140, 0, 0)
 FileDelete("c:\icon.gif")
 GUICtrlCreateTabItem("") ;==>结束分页标志
 ;状态栏
 GUICtrlCreateGroup("", -2, 305, 999, 999)
 If FileExists("d:\GHOST\WINXPSP2.gho") Then
 $FileSize = Round(FileGetSize("d:\GHOST\WINXPSP2.gho") / 1048576, 3) & "M"
 GUICtrlCreateLabel("发现D:\GHOST\WINXPSP2.gho" & " 大小:" & $FileSize, 10, 315, 240, 17)
 Else
 GUICtrlCreateLabel("未发现d:\GHOST\WINXPSP2.gho", 10, 315, 240, 17)
 EndIf
 $SpaceFree = Round(DriveSpaceFree("D:\") / 1, 3)
 GUICtrlCreateLabel("D盘可用空间:" & $SpaceFree & "M", 250, 315, 150, 17)
 GUISetState(@SW_SHOW)
 $Task = "None"
 
 While 1
 $msg = GUIGetMsg()
 Select
 Case $msg = $NotBFHF
 FileSetAttrib("C:\boot.ini", "-RSH")
 FileCopy("c:\JS\boot.bak", "c:\boot.ini", 9)
 FileSetAttrib("C:\boot.ini", "+RSH")
 FileSetAttrib("C:\jsgh", "-RSH")
 FileDelete("c:\jsgh")
 DirRemove("c:\JS", 1)
 GUICtrlSetState($NotBFHF, $GUI_HIDE)
 GUICtrlSetState($YJBF, $GUI_SHOW)
 GUICtrlSetState($YJHF, $GUI_SHOW)
 GUICtrlSetState($DOS, $GUI_SHOW)
 MsgBox(64, "撤销完成", "撤销备份/恢复请求完成!")
 Case $msg = $DOS
 SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:\")
 FileInstall("JSGH.img", "c:\JS\")
 FileInstall("Ghost.exe", "c:\JS\")
 $DOSIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($DOSIni, "cls" & @CRLF)
 FileWrite($DOSIni, "@echo off" & @CRLF)
 FileWrite($DOSIni, "xmsman -c>nul" & @CRLF)
 FileWrite($DOSIni, "Ghost.exe")
 FileClose($DOSIni)
 Sleep(500)
 If MsgBox(36, "询问", "进入DOS GHOST手工操作前的准备已完成,要立即重启吗?") = 6 Then
 SplashOff()
 SplashTextOn("请稍候", Chr(13) & "正在重启……", 250, 50, 10, 10, 2, 10)
 Shutdown(6)
 Else
 SplashOff()
 GUICtrlSetState($YJBF, $GUI_HIDE)
 GUICtrlSetState($YJHF, $GUI_HIDE)
 GUICtrlSetState($DOS, $GUI_HIDE)
 GUICtrlSetState($NotBFHF, $GUI_SHOW)
 EndIf
 Case $msg = $BFCombo1
 GUICtrlSetData($BFLabel1, GUICtrlRead($BFCombo1) & "已用空间:" & Round((DriveSpaceTotal(GUICtrlRead($BFCombo1)) - DriveSpaceFree(GUICtrlRead($BFCombo1))) / 1024, 2) & "G")
 Case $msg = $BFInput1
 If StringRight(GUICtrlRead($BFInput1), 4) = ".GHO" Then
 GUICtrlSetData($BFLabel2, StringMid(GUICtrlRead($BFInput1), 1, 2) & "可用空间:" & Round(DriveSpaceFree(StringMid(GUICtrlRead($BFInput1), 1, 2)) / 1024, 2) & "G")
 Else
 If Not GUICtrlRead($BFInput1) = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“.GHO”")
 GUICtrlSetData($BFInput1, "")
 EndIf
 EndIf
 Case $msg = $BFButton1
 $BFButton1Var1 = FileSaveDialog("选择GHO映像文件", "d:\ghost", "GHO映像文件(*.gho)", 18, "WINXPSP2.gho")
 If StringRight($BFButton1Var1, 4) = ".gho" Then
 GUICtrlSetData($BFInput1, $BFButton1Var1)
 GUICtrlSetData($BFLabel2, StringMid(GUICtrlRead($BFInput1), 1, 2) & "可用空间:" & Round(DriveSpaceFree(StringMid(GUICtrlRead($BFInput1), 1, 2)) / 1024, 2) & "G")
 Else
 If Not $BFButton1Var1 = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“.GHO”")
 EndIf
 EndIf
 Case $msg = $BFCheckbox1
 If GUICtrlRead($BFCheckbox1) = $GUI_CHECKED Then
 GUICtrlSetState($BFInput2, $GUI_SHOW)
 GUICtrlSetState($BFButton2, $GUI_SHOW)
 EndIf
 If GUICtrlRead($BFCheckbox1) = $GUI_UNCHECKED Then
 GUICtrlSetState($BFInput2, $GUI_HIDE)
 GUICtrlSetState($BFButton2, $GUI_HIDE)
 EndIf
 Case $msg = $BFInput2
 If StringRight(GUICtrlRead($BFInput2), 4) = ".exe" Then
 If Not FileExists(GUICtrlRead($BFInput2)) = 1 Then
 MsgBox(16, "警告", "找不到指定的GHOST程序”")
 GUICtrlSetData($BFInput2, "")
 EndIf
 Else
 If Not GUICtrlRead($BFInput2) = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“.EXE”")
 GUICtrlSetData($BFInput2, "")
 EndIf
 EndIf
 Case $msg = $BFButton2
 $BFButton2Var1 = FileOpenDialog("选择GHOST程序", "d:\ghost", "EXE可执行文件(*.exe)", 3, "ghost.exe")
 If StringRight($BFButton2Var1, 4) = ".exe" Then
 GUICtrlSetData($BFInput2, $BFButton2Var1)
 Else
 If Not $BFButton2Var1 = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“.EXE”")
 GUICtrlSetData($BFInput2, "")
 EndIf
 EndIf
 Case $msg = $YJBF
 If MsgBox(262433, "要一键全自动备份吗?(快速/不隐藏)", " 此命令将使系统重启并进入DOS用GHOST " & Chr(13) & "备份C盘到d:\GHOST\WINXPSP2.gho。D盘格式 " & Chr(13) & "既可以是 FAT32也可以是NTFS, 点击确定立 " & Chr(13) & "即重启并开始备份!") = 1 Then
 SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:\")
 FileInstall("JSGH.img", "c:\JS\")
 FileInstall("Ghost.exe", "c:\JS\")
 $BFGhostIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($BFGhostIni, "cls" & @CRLF)
 FileWrite($BFGhostIni, "@echo off" & @CRLF)
 FileWrite($BFGhostIni, "attrib -r -s -h %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($BFGhostIni, "del %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($BFGhostIni, "xmsman -c>nul" & @CRLF)
 FileWrite($BFGhostIni, "Ghost.exe -nousb -clone,mode=pdump,src=1:1,dst=d:\Ghost\winxpsp2.gho -z1 -sure -fro -rb ")
 FileClose($BFGhostIni)
 DirCreate("d:\Ghost\")
 FileInstall("Ghost.exe", "d:\Ghost\Ghost.exe")
 Sleep(500)
 If MsgBox(36, "询问", "备份前的准备已完成,要立即重启吗?") = 6 Then
 SplashOff()
 SplashTextOn("请稍候", Chr(13) & "正在重启……", 250, 50, 10, 10, 2, 10)
 Shutdown(6)
 Else
 SplashOff()
 GUICtrlSetState($YJBF, $GUI_HIDE)
 GUICtrlSetState($YJHF, $GUI_HIDE)
 GUICtrlSetState($DOS, $GUI_HIDE)
 GUICtrlSetState($NotBFHF, $GUI_SHOW)
 EndIf
 Else
 EndIf
 Case $msg = $BFOK
 SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:\")
 FileInstall("JSGH.img", "c:\JS\")
 DirCreate("d:\ghost")
 If GUICtrlRead($BFCheckbox1) = $GUI_CHECKED Then
 $BFOKVar1 = GUICtrlRead($BFInput2)
 If $BFOKVar1 = "" Then
 FileInstall("Ghost.exe", "c:\JS\")
 Else
 FileCopy($BFOKVar1, "c:\JS\GHOST.EXE", 8)
 EndIf
 Else
 FileInstall("Ghost.exe", "c:\JS\")
 EndIf
 FileInstall("disk.exe", "c:\")
 Run(@ComSpec & " /c c:\disk.exe", "", @SW_HIDE)
 WinWaitActive("分区扇区对应", "")
 $BFDisk = StringSplit(ControlGetText("分区扇区对应", "", "ThunderRT6TextBox1"), Chr(13))
 ProcessClose("DISK.exe")
 FileDelete("c:\DISK.exe")
 For $var1 = 1 To $BFDisk[0] Step 1
 If StringInStr($BFDisk[$var1], StringLeft(GUICtrlRead($BFCombo1), 1), 0) <> 0 Then
 $BFOKVar2 = "src=" & StringRight($BFDisk[$var1], 3)
 EndIf
 Next
 If GUICtrlRead($BFCombo2) = "不压缩 " Then $BFOKVar3 = " " ;压缩方式
 If GUICtrlRead($BFCombo2) = "快速压缩" Then $BFOKVar3 = " -z1"
 If GUICtrlRead($BFCombo2) = "高压缩 " Then $BFOKVar3 = " -z2"
 If GUICtrlRead($BFCombo2) = "最高压缩" Then $BFOKVar3 = " -z9"
 If GUICtrlRead($BFInput1) = "" Then
 $BFOKVar4 = "dst=d:\Ghost\winxpsp2.gho"
 Else
 $BFOKVar4 = "dst=" & GUICtrlRead($BFInput1)
 EndIf
 If GUICtrlRead($BFCheckbox2) = $GUI_CHECKED Then
 $BFOKVar5 = "attrib +h " & GUICtrlRead($BFInput1)
 Else
 $BFOKVar5 = ""
 EndIf
 $BFGhostIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($BFGhostIni, "cls" & @CRLF)
 FileWrite($BFGhostIni, "@echo off" & @CRLF)
 FileWrite($BFGhostIni, "attrib -r -s -h %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($BFGhostIni, "del %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($BFGhostIni, "xmsman -c>nul" & @CRLF)
 FileWrite($BFGhostIni, "Ghost.exe -nousb -clone,mode=pdump," & $BFOKVar2 & "," & $BFOKVar4 & $BFOKVar3 & " -sure -fro -rb" & @CRLF)
 FileWrite($BFGhostIni, $BFOKVar5)
 FileClose($BFGhostIni)
 DirCreate("d:\Ghost")
 FileCopy("c:\ghost\*.*", "d:\Ghost", 9)
 Sleep(500)
 If MsgBox(36, "询问", "备份前的准备已完成,要立即重启吗?") = 6 Then
 SplashOff()
 SplashTextOn("请稍候", Chr(13) & "正在重启……", 250, 50, 10, 10, 2, 10)
 Shutdown(6)
 Else
 SplashOff()
 GUICtrlSetState($YJBF, $GUI_HIDE)
 GUICtrlSetState($YJHF, $GUI_HIDE)
 GUICtrlSetState($DOS, $GUI_HIDE)
 GUICtrlSetState($NotBFHF, $GUI_SHOW)
 EndIf
 Case $msg = $HFCombo1
 GUICtrlSetData($HFLabel1, GUICtrlRead($HFCombo1) & "全部空间:" & Round(DriveSpaceTotal(GUICtrlRead($HFCombo1)) / 1024, 2) & "G")
 Case $msg = $HFInput1
 If StringRight(GUICtrlRead($HFInput1), 4) = ".GHO" Then
 If Not FileExists(GUICtrlRead($HFInput1)) = 1 Then
 MsgBox(16, "警告", "找不到指定的GHO映像文件")
 GUICtrlSetData($HFInput1, "")
 EndIf
 Else
 If Not GUICtrlRead($HFInput1) = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“GHO”")
 GUICtrlSetData($HFInput1, "")
 EndIf
 EndIf
 Case $msg = $HFButton1
 $HFButton1Var1 = FileOpenDialog("选择GHO映像文件", "d:\ghost", "GHO映像文件(*.gho)|所有文件(*.*)", 3, "WINXPSP2.gho")
 If StringRight($HFButton1Var1, 4) = ".GHO" Then
 If Not FileExists($HFButton1Var1) = 1 Then
 MsgBox(16, "警告", "找不到指定的GHO映像文件")
 Else
 GUICtrlSetData($HFInput1, $HFButton1Var1)
 EndIf
 Else
 If Not $HFButton1Var1 = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“GHO”")
 EndIf
 EndIf
 Case $msg = $HFCheckbox1
 If GUICtrlRead($HFCheckbox1) = $GUI_CHECKED Then
 GUICtrlSetState($HFInput2, $GUI_SHOW)
 GUICtrlSetState($HFButton2, $GUI_SHOW)
 EndIf
 If GUICtrlRead($HFCheckbox1) = $GUI_UNCHECKED Then
 GUICtrlSetState($HFInput2, $GUI_HIDE)
 GUICtrlSetState($HFButton2, $GUI_HIDE)
 EndIf
 Case $msg = $HFInput2
 If StringRight(GUICtrlRead($HFInput2), 4) = ".exe" Then
 If Not FileExists(GUICtrlRead($HFInput2)) = 1 Then
 MsgBox(16, "警告", "找不到指定的GHOST程序”")
 GUICtrlSetData($HFInput2, "")
 EndIf
 Else
 If Not GUICtrlRead($HFInput2) = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“.EXE”")
 GUICtrlSetData($HFInput2, "")
 EndIf
 EndIf
 Case $msg = $HFButton2
 $HFButton2Var1 = FileOpenDialog("选择GHOST程序", "d:\ghost", "EXE可执行文件(*.exe)|所有文件(*.*)", 3, "ghost.exe")
 If StringRight($HFButton2Var1, 4) = ".exe" Then
 GUICtrlSetData($HFInput2, $HFButton2Var1)
 Else
 If Not $HFButton2Var1 = "" Then
 MsgBox(16, "警告", "文件的扩展名不为“.EXE”")
 GUICtrlSetData($HFInput2, "")
 EndIf
 EndIf
 Case $msg = $HFCheckbox2
 If GUICtrlRead($HFCheckbox2) = $GUI_CHECKED Then $HFCheckbox2Var1 = "忽略 CRC 错误"
 If GUICtrlRead($HFCheckbox2) = $GUI_UNCHECKED Then $HFCheckbox2Var1 = "不忽略 CRC 错误"
 Case $msg = $YJHF
 If MsgBox(262433, "要一键全自动恢复吗?", " 此命令将使系统重启并进入DOS用GHOST " & Chr(13) & "恢复C盘从d:\GHOST\WINXPSP2.gho。" & Chr(13) & " 警告!此命令将会把您放在C盘的数据清空! " & Chr(13) & "点击下面的按钮将立即重启并开始恢复!") = 1 Then
 If FileExists("d:\GHOST\WINXPSP2.gho") = 0 Then
 MsgBox(262160, "找不到文件", "找不到d:\GHOST\WINXPSP2.gho " & Chr(13) & "请保证GHO文件在d:\GHOST\")
 Else
 $Info = SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:\")
 FileInstall("JSGH.img", "c:\JS\")
 FileInstall("Ghost.exe", "c:\JS\")
 $HFGhostIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($HFGhostIni, "cls" & @CRLF)
 FileWrite($HFGhostIni, "@echo off" & @CRLF)
 FileWrite($HFGhostIni, "attrib -r -s -h %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($HFGhostIni, "del %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($HFGhostIni, "xmsman -c>nul" & @CRLF)
 FileWrite($HFGhostIni, "Ghost.exe -nousb -clone,mode=pload,src=d:\Ghost\WINXPSP2.GHO:1,dst=1:1 -sure -fro -rb")
 FileClose($HFGhostIni)
 DirCreate("d:\Ghost")
 FileCopy("c:\ghost\*.*", "d:\Ghost", 9)
 Sleep(500)
 If MsgBox(36, "询问", "恢复前的准备已完成,要立即重启吗?") = 6 Then
 SplashOff()
 SplashTextOn("请稍候", Chr(13) & "正在重启……", 250, 50, 10, 10, 2, 10)
 Shutdown(6)
 Else
 SplashOff()
 GUICtrlSetState($YJBF, $GUI_HIDE)
 GUICtrlSetState($YJHF, $GUI_HIDE)
 GUICtrlSetState($DOS, $GUI_HIDE)
 GUICtrlSetState($NotBFHF, $GUI_SHOW)
 EndIf
 EndIf
 Else
 EndIf
 Case $msg = $HFOK
 If Not GUICtrlRead($HFInput1) = "" Then
 SplashTextOn("请稍候", Chr(13) & "正在准备……", 250, 50, 10, 10, 2, 10)
 boot()
 FileInstall("JSGH", "c:")
 FileInstall("JSGH.img", "c:\JS\")
 If GUICtrlRead($HFCheckbox1) = $GUI_CHECKED Then
 $HFOKVar1 = GUICtrlRead($HFInput2)
 If $HFOKVar1 = "" Then
 FileInstall("Ghost.exe", "c:\JS\")
 Else
 FileCopy($HFOKVar1, "c:\JS\GHOST.EXE", 8)
 EndIf
 Else
 FileInstall("Ghost.exe", "c:\JS\")
 EndIf
 $HFOKVar2 = "src=" & GUICtrlRead($HFInput1)
 FileInstall("disk.exe", "c:\")
 Run(@ComSpec & " /c c:\disk.exe", "", @SW_HIDE)
 WinWaitActive("分区扇区对应", "")
 $BFDisk = StringSplit(ControlGetText("分区扇区对应", "", "ThunderRT6TextBox1"), Chr(13))
 ProcessClose("DISK.exe")
 FileDelete("c:\DISK.exe")
 For $var1 = 1 To $BFDisk[0] Step 1
 If StringInStr($BFDisk[$var1], StringLeft(GUICtrlRead($HFCombo1), 1), 0) <> 0 Then
 $HFOKVar3 = "dst=" & StringRight($BFDisk[$var1], 3)
 EndIf
 Next
 If GUICtrlRead($HFCheckbox2) = $GUI_CHECKED Then
 $HFOKVar4 = "-crcignore"
 Else
 $HFOKVar4 = ""
 EndIf
 $HFGhostIni = FileOpen("c:\js\ghost.bat", 10)
 FileWrite($HFGhostIni, "cls" & @CRLF)
 FileWrite($HFGhostIni, "@echo off" & @CRLF)
 FileWrite($HFGhostIni, "attrib -r -s -h %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($HFGhostIni, "del %s%:\pagefile.sys>nul" & @CRLF)
 FileWrite($HFGhostIni, "xmsman -c>nul" & @CRLF)
 FileWrite($HFGhostIni, "Ghost.exe -nousb -clone,mode=pload," & $HFOKVar2 & ":1," & $HFOKVar3 & " -sure -fro -rb " & $HFOKVar4)
 FileClose($HFGhostIni)
 Sleep(500)
 If MsgBox(36, "询问", "恢复前的准备已完成,要立即重启吗?") = 6 Then
 SplashOff()
 SplashTextOn("请稍候", Chr(13) & "正在重启……", 250, 50, 10, 10, 2, 10)
 Shutdown(6)
 Else
 SplashOff()
 GUICtrlSetState($YJBF, $GUI_HIDE)
 GUICtrlSetState($YJHF, $GUI_HIDE)
 GUICtrlSetState($DOS, $GUI_HIDE)
 GUICtrlSetState($NotBFHF, $GUI_SHOW)
 EndIf
 Else
 MsgBox(16, "警告", "您未输入GHO文件的路径")
 EndIf
 Case $msg = $mailto
 Run("C:\Program Files\Internet Explorer\IEXPLORE.EXE mailto:297259024@qq.com", "")
 Case $msg = $GUI_EVENT_CLOSE
 ExitLoop
 EndSelect
 WEnd
 Func boot()
 DirCreate("c:\JS\")
 FileSetAttrib("C:\boot.ini", "-RSH")
 FileCopy("C:\boot.ini", "c:\JS\boot.bak", 8)
 IniWrite("c:\boot.ini", "boot loader", "timeout", "1")
 IniWrite("c:\boot.ini", "boot loader", "default", "c:\jsgh")
 IniWrite("c:\boot.ini", "operating systems", "c:\jsgh", "JS万能GHOST")
 EndFunc ;==>boot
 | 
 |