How to check if drive 'a:' is ready?

From: "Angus Johnson" <ajohnson@rpi.net.au>

 


function DiskInDrive(const Drive: char): Boolean;

var

  DrvNum: byte;

  EMode: Word;

begin

  result := false;

  DrvNum := ord(Drive);

  if DrvNum >= ord('a') then dec(DrvNum,$20);

  EMode := SetErrorMode(SEM_FAILCRITICALERRORS);

  try

    if DiskSize(DrvNum-$40) <> -1 then result := true

    else messagebeep(0);

  finally

    SetErrorMode(EMode);

  end;

end;