|
发表于 2011-1-19 17:59:52
|
显示全部楼层
回复 #3 bsplin 的帖子
THIS IS WHAT YOU WANT
- ;REVEALED BY [email]KXSQ@PEDIY.CN[/email], 2010
- #NoTrayIcon
- #Region
- #AutoIt3Wrapper_Icon=D:\My Files\My Pictures\icon\Vista_Orbs_icon002.ico
- #AutoIt3Wrapper_Outfile=D:\My Files\一键XP.EXE
- #AutoIt3Wrapper_Compression=4
- #EndRegion
- #EndRegion
- Dim $INIPATH, $SECTION, $SETUP, $GHOST32PATH, $NAME, $FILE, $GHOSTR, $GHONAME, $FLAG, $DISK, $COUNT, $IDE, $I, $IDEUSB, $DRIVE, $CDROM, $DRV, $FLAGR, $GHOST32STR, $GHOST32NAME
- $INIPATH = StringMid(@ScriptFullPath, 1, StringLen(@ScriptFullPath) - 3) & 'ini'
- If Not FileExists($INIPATH) Then
- MsgBox(16, '错误', '未发现同名配置文件!程序不能运行')
- Exit
- EndIf
- If $CMDLINE[0] = 0 Then
- $SECTION = 'setup'
- Else
- $SETUP = $CMDLINE[1]
- $SECTION = StringTrimLeft($SETUP, 1)
- EndIf
- $GHOST32PATH = IniRead($INIPATH, 'ghost32', 'ghost32path', '')
- $GHOST32STR = StringSplit($GHOST32PATH, '\')
- $GHOST32NAME = $GHOST32STR[$GHOST32STR[0]]
- $NAME = IniRead($INIPATH, $SECTION, 'name', '')
- $FILE = IniRead($INIPATH, $SECTION, 'ghofile', '')
- $GHOSTR = StringSplit($FILE, '\')
- $GHONAME = $GHOSTR[$GHOSTR[0]]
- $INIPATH = StringMid(@ScriptFullPath, 1, StringLen(@ScriptFullPath) - 3) & 'ini'
- If $GHOST32PATH = '' Then
- MsgBox(16, '错误', '配置文件没指定GHOST主程序的路径')
- Exit
- ElseIf $NAME = '' Then
- $NAME = '(未命名系统)'
- ElseIf $FILE = '' Then
- MsgBox(16, '错误', '配置文件没指定XP镜像的文件名')
- Exit
- EndIf
- $FLAG = MsgBox(1, '系统安装', @CRLF & '本操作将删除原C盘数据,请确认硬盘已分区并备份好了原C盘数据!' & @CRLF & @CRLF & @TAB & '确认要安装' & $NAME & '到C盘吗?')
- If $FLAG = 2 Then
- Exit
- EndIf
- $DISK = 'HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum\'
- $COUNT = RegRead($DISK, 'Count')
- If $COUNT < 1 Then
- MsgBox(16, '错误', '系统中没有安装硬盘或PE不能识别该硬盘,程序不能进行')
- Exit
- Else
- $IDE = False
- For $I = 0 To $COUNT - 1
- $IDEUSB = StringLeft(RegRead($DISK, $I), 3)
- If $IDEUSB <> 'USB' Then
- $IDE = $I + 1
- ExitLoop
- EndIf
- Next
- If $IDE = False Then
- MsgBox(16, '错误', '系统中没有IDE硬盘或PE不能识别该硬盘,程序不能进行')
- Exit
- EndIf
- For $I = 90 To 67 Step -1
- $DRIVE = Chr($I)
- If FileExists($DRIVE & ':' & $FILE) Then
- $CDROM = $DRIVE & ':'
- ExitLoop
- EndIf
- Next
- For $I = 65 To 90
- $DRIVE = Chr($I)
- If FileExists($DRIVE & ':' & $GHOST32PATH) Then
- $DRV = $DRIVE & ':'
- ExitLoop
- EndIf
- Next
- If FileExists($CDROM) Then
- If FileExists($DRV) Then
- ToolTip(@CR & ' 正在执行恢复' & $NAME & '到C盘,请稍候... ' & @CR, @DesktopWidth - 380, @DesktopHeight - 120)
- Run($DRV & $GHOST32PATH & ' -nousb -clone,mode=pload,src=' & $CDROM & $FILE & ':1,dst=' & $IDE & ':1 -crcignore -sure -fx')
- ProcessWaitClose($GHOST32NAME)
- ToolTip('')
- $FLAGR = MsgBox(1, '系统安装', @CRLF & '系统文件复制完成,5秒后系统自动重启完成安装', 5)
- If $FLAGR = 2 Then
- Exit
- EndIf
- Run(@ComSpec & ' /c ' & 'pecmd shut r', '', @SW_HIDE)
- Else
- MsgBox(16, '错误', '未发现配置文件指定的GHOST主程序')
- Exit
- EndIf
- Else
- MsgBox(16, '错误', '未发现' & $GHONAME & '镜像文件!')
- Exit
- EndIf
- EndIf
复制代码 |
|