在PE下格式化C盘
在PE下格式化C盘能直接调用DOS命令实现吗?
希望高手能给点代码参考下!!
[ 本帖最后由 xgdjkk 于 2008-7-31 16:16 编辑 ] 直接调用DOS的format命令。如果没有就自己带上一个。 谢谢你的答复,我想写个自动格式化C盘工具,我调用了那个工具,但不能实现自动完成
请再帮忙解决下!!
是不是还要下载个FORMAT工具到C盘才能完成?
[ 本帖最后由 xgdjkk 于 2008-7-25 14:27 编辑 ] 需要界面的,用API亦可。
DWORD SHFormatDrive(HWND hwnd,
UINT drive, //A盘:0, B盘:1
UINT fmtID, //未知,通常为0
UINT options //0:快速格式化, 1:通常格式化, 2:传递启动文件
); 在你之前的一篇回复里看到了,但是我安装自动安装的方式让他实现自动格式化,却没有反应,是怎么回事啊? 什么没有反应? Local $DriveNumber=2;A盘为0,B盘为1,C盘为2,D盘为3,依次类推……
Local $FormatOptions=1 ;1为快速格式化,0为完全格式化
DllCall("shell32.dll","int","SHFormatDrive","hwnd",0,"int",$DriveNumber,"int",0,"int",$FormatOptions)
WinWaitActive("格式化 WINXP (C:)", "容量")
Send("!s")
可以调用出来,但不能发送确定事件,我把!S 换成{enter}也不行
---------------------------------------------------------------------------------------
DWORD SHFormatDrive(HWND hwnd,
UINT drive, //A盘:0, B盘:1
UINT fmtID, //未知,通常为0
UINT options //0:快速格式化, 1:通常格式化, 2:传递启动文件
);
这代码要怎么实现啊?我对API不熟悉!! 如果对API不熟悉。用format岂不是更方便? 谢谢!
我知道怎么做了! 格式化C盘的目的是什么?注意可不一定PE下的C盘就真的是你的C盘
也可以用GHOST做一个空白分区的镜像,有特殊需要做两个吧,一个FAT32的一个NTFS的,绝对格式化C盘就是把空白分区镜像恢复到第一硬盘第一分区
GHOST的命令不用多说了吧
[ 本帖最后由 skyfree 于 2008-7-25 16:03 编辑 ] 在PE下格式化掉C盘.然后解压系统文件到C盘,用FORMAT在PE下应该是格哪个才算是C盘?
有什么办法实现吗? PE下是有個命令行的分區工具。可以寫成腳本來進行分區的。 用format利索。
if GUICtrlRead($NTFS)=$GUI_CHECKED then
$formatST=" /c "&$mypath&"\format " & $seltdrv & " /fs:ntfs"&" /v:"&$Vtime&" /q /y"
Else
$formatST=" /c "&$mypath&"\format " & $seltdrv & " /fs:fat32"&" /v:"&$Vtime&" /q /y"
EndIf
RunWait(@ComSpec & $formatST,"",@SW_HIDE) 还是顽固大哥人好!
把源码都拿出来了!
真是感激!!! 为什么把FAT32格式的系统格式化为NTFS却没反应呢?格式为FAT32又成功了?
页:
[1]
2