Próbáld ki ezt a függvényt:

function DiskExists(Drive: Char): Boolean;
var ErrorMode: Word;
begin
   Drive := UpCase(Drive);
   { Megvizsgálja, hogy a meghajtó betüjele érvényes-e }
   if not (Drive in ['A'..'Z']) then
      raise EConvertError.Create('Not a valid drive letter');
   { Kikapcsolja a kritikus hibákat }
   ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
   try
      Application.ProcessMessages;
      Result := (DiskSize(Ord(Drive) - Ord('A') + 1) <> -1);
   finally
      { Visszaállítja az eredeti hibamódot }
      SetErrorMode(ErrorMode);
      Application.ProcessMessages;
   end;
end;