- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Checking drive ready status.

Question:

How do I check to see if a drive is ready without triggering a Windows error dialog box?

Answer:

You can use the Windows API function SetErrorMode() to suppress the
Window's critical Error dialog.

Example:

function IsDriveReady(DriveLetter : char) : bool;
var
  OldErrorMode : Word;
  OldDirectory : string;
begin
  OldErrorMode := SetErrorMode(SEM_NOOPENFILEERRORBOX);
  GetDir(0, OldDirectory);
  {$I-}
    ChDir(DriveLetter + ':\');
  {$I+}
   if IoResult <> 0 then
    Result := False 
   else
    Result := True;

  ChDir(OldDirectory);
  SetErrorMode(OldErrorMode);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if not IsDriveReady('A') then
    ShowMessage('Drive Not Ready') else
    ShowMessage('Drive is Ready');
end;



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile