如何格式化或低格)一条硬盘(或软盘)上的磁道??(200分)

  • 主题发起人 主题发起人 wsn
  • 开始时间 开始时间
W

wsn

Unregistered / Unconfirmed
GUEST, unregistred user!
如何格式化或低格)一条硬盘(或软盘)上的磁道??
 
CreateFile 打开一个硬盘设备
DeviceIoControl IOCTL_DISK_FORMAT_TRACKS
 
电脑报上好象有介绍
你找来看看
 
在DOS下可以调用int 13h中断
 
pipi 可以讲的更具体写吗?
 
我说的只能支持 winnt/2000 ,win9x不行
 
来自uddf的回答:
const
SHFMT_ID_DEFAULT = $FFFF;
// Formating options
SHFMT_OPT_QUICKFORMAT = $0000;
SHFMT_OPT_FULL = $0001;
SHFMT_OPT_SYSONLY = $0002;
// Error codes
SHFMT_ERROR = $FFFFFFFF;
SHFMT_CANCEL = $FFFFFFFE;
SHFMT_NOFORMAT = $FFFFFFFD;

function SHFormatDrive(Handle: HWND; Drive, ID, Options: Word): LongInt;
stdcall; external 'shell32.dll' name 'SHFormatDrive'

procedure TForm1.btnFormatDiskClick(Sender: TObject);
var
retCode: LongInt;
begin
retCode:= SHFormatDrive(Handle, 0, SHFMT_ID_DEFAULT,
SHFMT_OPT_QUICKFORMAT);
if retCode < 0 then
ShowMessage('Could not format drive');
end;

end.

-------------------------------------------------------

请予近期结束!
 
to zyy04
您可说得更具体一些吗?
我还是有些不太明白,把代码试了一下结果出了一大堆的错误。
我用的是d3。

 
可以用hdformat.
 
To wsn:

你能把报的错误写出么?会不是你忘了uses windows?
 
在delphi中插入Asm代码
 
想格式化特殊磁道和扇区,可在程序中嵌入汇编,就简单多了.
 
to zyy04
因为这样的程序危险性太大,所以我是到学校的公共机房里去调试的,
应该是我理解的不到位,代码我也不是看得太明白(真惭愧),我该怎么指定
格式A驱呢???
代码能不能再详细一些?
(我是不是有点太不要。。。。了)
 
到www.vclxx.com上去下载一个DiskIO,什么都能搞定
 
你注意看了么?该function的第二个参数是磁盘id,0即为a盘,1是b盘(如果有的话)。
 

实在是太谢谢
了!!!!!!
 
各位大虾能否给小弟一段完整的用DELPHI写的对硬盘低格(40G)的程序希望能有关的注释
谢谢!
 
zyy04兄弟你写的好像是调用WINDWS的一个程序,还要进行第二次选择才可进行,有没有直截
进行的呢?
 

Similar threads

后退
顶部