Function DiskInDrive(Drive: Char): Boolean;
Var ErrorMode: word;
Begin
If Drive In ['a'..'z'] Then Dec(Drive, $20);
If Not (Drive In ['A'..'Z']) Then
Raise EConvertError.Create('Not a valid drive ID');
ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
Try
If DiskSize(Ord(Drive) - $40) = -1 Then
Result := False
Else
Result := True;
Finally
SetErrorMode(ErrorMode);
End;
End;