Используйте ShFormatDrive:
function SHFormatDrive(hWnd: HWND; Drive: Word; fmtID: Word;
Options: Word): Longint; stdcall; external 'Shell32.dll' name 'SHFormatDrive';
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;
procedure TForm1.Button1Click(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 formatting the drive');
SHFMT_CANCEL: ShowMessage('User canceled formatting the drive');
SHFMT_NOFORMAT: ShowMessage('No Format')
else
ShowMessage('Disk has been formatted');
end;
except
end;
end;