heimahack 发表于 2011-4-22 12:15:24

我想做一个能在PE启时自动安装,并会读秒后执行自动恢复系统的安装程序

本帖最后由 heimahack 于 2011-4-22 12:08 编辑

要求是运行这个程序就显示安装与退出,在安装按扭上面显示倒计时15秒,在退出按扭上面显示按下任意键退出 。实现的功能就是如果用户在15秒内按下任意键就退出安装,否则将在15秒后全自动恢GHO文件到C。而且还有个重大的问题就是如何判断当U盘被主板识别为HD0时,则提示硬盘不为主盘,请手动选择安装。然后退出。如果硬盘为主盘时刚全自动恢复了。希望哪位大侠出个这样的代码。如果有配置的INI文件就最好。那样可以指定GHO文件与GHOST32的存放路径。

没有我提到的这两项功能的代码:
Dim $CDRom,$i,$Target,$Drive,$Flag,$Flagr
$Flag=MsgBox(1,"系统安装","本操作将删除C盘数据,请确认硬盘已分区,并备份好了C盘数据!")
If $Flag=2 Then
Exit
EndIf
$Target="ghostxp3.gho"
For $i=90 To 67 Step -1
$Drive=Chr($i)
If FileExists($Drive & ":\GHOST\" & $Target) Then
$CDRom=$Drive & ":"
ExitLoop
EndIf
Next
If FileExists($CDRom) Then
If FileExists($CDRom & "\PESOFT\GHOST\Ghost32.exe") And FileExists($CDRom & "\ghost\ghostxp3.gho") Then
ToolTip(@CR&" 正在执行恢复XP到C盘,请稍候... "&@CR, @DesktopWidth-260, @DesktopHeight-120)
Run($CDRom & "\PESOFT\GHOST\Ghost32.exe -nousb -clone,mode=pload,src=" & $CDRom & "\ghost\ghostxp3.gho:1,dst=1:1 -crcignore -sure -fx")
ProcessWaitClose("Ghost32.exe")
ToolTip("")
$Flagr=MsgBox(1,"系统安装","系统文件复制完成,请重启电脑完成安装",5)
If $Flagr=2 Then
Exit
EndIf
Run(@ComSpec & " /c " & 'pecmd shut r', "", @SW_HIDE)
ElseIf Not FileExists($CDRom & "\PESOFT\GHOST\Ghost32.exe") Then
MsgBox(0,"Error","未发现Ghost32.exe程序!")
Exit
ElseIf Not FileExists($CDRom & "\ghost\ghostxp3.gho") Then
MsgBox(0,"Error","未发现ghostxp3.gho镜像文件!")
Exit
EndIf
Else
MsgBox(0,"Error","未发现ghostxp3.gho镜像文件!")
Exit
EndIf
页: [1]
查看完整版本: 我想做一个能在PE启时自动安装,并会读秒后执行自动恢复系统的安装程序