代码如下
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.