我想了解怎样操作软驱,如格式化3.5寸的各种格式等.各位大侠帮帮忙.

kmzmy 2003-01-10 09:56:28
我想了解怎样操作软驱,如格式化3.5寸的各种格式等.
客户一定要用软盘备份,气死我了.
...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nzh517 2003-01-12
  • 打赏
  • 举报
回复
DOS6的源码可以在网上找到,,他那上面有FORMAT的源程序ASM
Billy_Chen28 2003-01-10
  • 打赏
  • 举报
回复
或者调用系统对话框:
procedure TForm1.Button1Click(Sender: TObject);
begin
winexec('RunDLL32.exe Shell32.dll,SHFormatDrive',sw_shownormal);
end;
Billy_Chen28 2003-01-10
  • 打赏
  • 举报
回复
1、先声明下面一个函数:
function SHFormatDrive(Hwnd:HWND;Drive:Integer;Size:Uint;Action:Integer):Integer;
stdcall;external 'shell32.dll' name 'SHFormatDrive';
说明:1、Hwnd:窗口所有者的句柄
2、Drive:所有格式化的对象:0指a驱;1指b驱;2指c盘...
3、Size:暂时无用
4、Action:0:快速格式化;1:全面格式化;2:格式化时传送系统,即:sys a(b,c)
2、上述函数参数太多,可以再次进行包装即:
function FormatDrive(Drive,Action:Integer):Integer;
begin
Result:=SHFormatDrive(Application.Handle,Drive,0,Action);
end;
说明:只需要填写两个参数
3、用法:
1、快速格式化A盘: FormatDrive(0,0);
2、全面格式化A盘: FormatDrive(1,0);
3、格式化A盘时带系统: FormatDrive(2,0);
Billy_Chen28 2003-01-10
  • 打赏
  • 举报
回复
implementation

{$R *.DFM}
function SHFormatDrive(Hwnd:HWND;Drive:Integer;Size:Uint;Action:Integer):Integer;
stdcall;external 'shell32.dll' name 'SHFormatDrive';

function FormatDrive(Drive,Action:Integer):Integer;
begin
Result:=SHFormatDrive(Application.Handle,Drive,0,Action);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
FormatDrive(0,1);
end;
dext 2003-01-10
  • 打赏
  • 举报
回复
怎样才可以向HDCOPY那样定义扇区的格式化呢?
我关注……………………

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧