怎样在win2000下编程实现快速格式化硬盘一个分区(F盘)?(200分)

  • 主题发起人 主题发起人 sakura12
  • 开始时间 开始时间
S

sakura12

Unregistered / Unconfirmed
GUEST, unregistred user!
[red]怎样在win2000下编程实现快速格式化硬盘一个分区(F盘)?<br>1.可以定义为FAT/FAT32格式,<br>2.最好可以像DOS下格式化一样可以带/Q/U的参数,<br>3.并且不需要按确定键。[/red]
 
不知道把格式化的命令做到一个BAT文件里面去,然后让他执行可不可行!<br>可以试试看<br>
 
不行的。
 
2000下面对磁盘的操作还有一个安全和审计的问题。
 
如果可以,我也想知道!
 
1、先声明下面一个函数:<br>function SHFormatDrive(Hwnd:HWND;Drive:Integer;Size:Uint;Action:Integer):Integer;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stdcall;external 'shell32.dll' name 'SHFormatDrive';<br>&nbsp; &nbsp; 说明:1、Hwnd:窗口所有者的句柄<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2、Drive:所有格式化的对象:0指a驱;1指b驱;2指c盘...<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3、Size:暂时无用 <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4、Action:0:快速格式化;1:全面格式化;2:格式化时传送系统,即:sys a(b,c)<br>2、上述函数参数太多,可以再次进行包装即:<br>function FormatDrive(Drive,Action:Integer):Integer;<br>begin<br>&nbsp;Result:=SHFormatDrive(Application.Handle,Drive,0,Action);<br>end;<br>&nbsp; &nbsp;说明:只需要填写两个参数<br>3、用法:<br>&nbsp; &nbsp;1、快速格式化A盘: FormatDrive(0,0);<br>&nbsp; &nbsp;2、全面格式化A盘: FormatDrive(1,0); <br>&nbsp; &nbsp;3、格式化A盘时带系统: FormatDrive(2,0);<br><br>implementation<br><br>{$R *.DFM}<br>function SHFormatDrive(Hwnd:HWND;Drive:Integer;Size:Uint;Action:Integer):Integer;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stdcall;external 'shell32.dll' name 'SHFormatDrive';<br><br>function FormatDrive(Drive,Action:Integer):Integer;<br>begin<br>&nbsp;Result:=SHFormatDrive(Application.Handle,Drive,0,Action);<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; FormatDrive(5,0);<br>end;<br>
 
后退
顶部