¿Qué tal algo así?
Código Delphi
[-]
function IsDrive(S: String): Boolean;
begin
Result := IncludeTrailingPathDelimiter(ExtractFileDrive(S)) = S;
end;
IsDrive no detecta si la ruta especificada por S realmente existe, simplemente determina si es de la forma X:\
EDITO
Otra opción
Código Delphi
[-]
uses
Masks;
function IsDrive(S: String): Boolean;
begin
Result :=MatchesMask(S, '[a-z]:\');
end;
// Saludos