代码如下
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
CONST
SHFMT_DRV_A=0;
SHFMT_DRV_B=1;
SHFMT_ID_DEFAULT=$FFFF;
SHFMT_OPT_QUICKFORMAT=0;
SHFMT_OPT_FULLFORMAT=1;
SHFMT_OPT_SYSONLY=2;
SHFMT_ERROR=-1;
SHFMT_CANCEL=-2;
SHFMT_NOFORMAT=-3;
FUNCTION SHFORMATDRIVE(HWND:HWND;DRIVE:WORD;FMTID:WORD;OPTIONS:WORD):
LONGINT STDCALL;EXTERNAL 'SHELL32.DLL' NAME 'SHFORMATDRIVE';
implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
VAR FMTRES:LONGINT;
begin
TRY
FMTRES:=SHFORMATDRIVE(HANDLE,SHFMT_DRV_A,SHFMT_ID_DEFAULT,SHFMT_OPT_QUICKFORMAT);
CASE FMTRES OF
SHFMT_ERROR: SHOWMESSAGE('ERROR');
SHFMT_CANCEL: SHOWMESSAGE('CANCEL');
SHFMT_NOFORMAT: SHOWMESSAGE('NO FINISH');
ELSE SHOWMESSAGE('ok');
END;
EXCEPT
END;
end;end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
CONST
SHFMT_DRV_A=0;
SHFMT_DRV_B=1;
SHFMT_ID_DEFAULT=$FFFF;
SHFMT_OPT_QUICKFORMAT=0;
SHFMT_OPT_FULLFORMAT=1;
SHFMT_OPT_SYSONLY=2;
SHFMT_ERROR=-1;
SHFMT_CANCEL=-2;
SHFMT_NOFORMAT=-3;
FUNCTION SHFORMATDRIVE(HWND:HWND;DRIVE:WORD;FMTID:WORD;OPTIONS:WORD):
LONGINT STDCALL;EXTERNAL 'SHELL32.DLL' NAME 'SHFORMATDRIVE';
implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
VAR FMTRES:LONGINT;
begin
TRY
FMTRES:=SHFORMATDRIVE(HANDLE,SHFMT_DRV_A,SHFMT_ID_DEFAULT,SHFMT_OPT_QUICKFORMAT);
CASE FMTRES OF
SHFMT_ERROR: SHOWMESSAGE('ERROR');
SHFMT_CANCEL: SHOWMESSAGE('CANCEL');
SHFMT_NOFORMAT: SHOWMESSAGE('NO FINISH');
ELSE SHOWMESSAGE('ok');
END;
EXCEPT
END;
end;end.
LONGINT STDCALL;EXTERNAL 'SHELL32.DLL' NAME 'SHFormatDrive';