Moin Matti,
vielleicht solltest Du Dir mal die Funktionen
PathIsDirectory oder
PathIsRelative ansehen.
Das sind Funktionen der Shell Lightweight
API (shlwapi.dll), die selbst importiert werden müssen.
Auch wenn Deine Methode funktioniert:
Ist es sinnvoll zu versuchen ein Verzeichnis anzulegen, nur um zu erkennen, ob es eines ist?
Du könntest auch einfach prüfen, ob der String ungültige Zeichen enthält (:,",<,>,|,*,?). : nur, wenn keine Laufwerksangabe enthalten sein kann. Das / fehlt übrigens bewusst, da es ein gültiges Pfadtrennzeichen darstellt. Es ist identisch zu \ verwendbar.
Ein Problem wäre natürlich, wenn der String mit \\ anfängt. Dann könnte es eine Serverangabe sein, oder einfach ein relativer Pfad mit zwei aufeinander folgenden Pfadtrennern Eine beliebige Anzahl hintereinander, auch unterschiedlicher Pfadtrennzeichen ist erlaubt, und wird vom Dateisystem als eines erkannt.
(C:\\\\\\Temp = C:\Temp = C:/temp = C:/\/\/\temp)