System-Verzeichnis ermitteln
Folgende Funktion ermittelt das System-Verzeichnis des Betriebssystem. Getestet wurde die Funktion unter Windows-Betriebssystemen.
function GetSystemDir: string; var Dir: string; Len: DWord; begin SetLength(Dir,MAX_PATH); Len:=GetSystemDirectory(PChar(Dir),MAX_PATH); if Len>0 then begin SetLength(Dir,Len); Result:=Dir; end else RaiseLastOSError; end;
Gängige System-Verzeichnisse sind C:WindowsSystem oder bei auf NT basierenden Betriebssystemen C:WindowsSystem32.
RaiseLastOSError ist erst ab Delphi 6 verfügbar. Programmierer, die mit älteren Versionen arbeiten müssen an dieser Stelle RaiseLastWin32Error verwenden.
In verschiedenen FAQs findet man immer wieder Lösungen, wo dem Programmierer gezeigt wird, wie man das System-Verzeichnis über die Registry ermitteln kann. Von dieser Vorgehensweise wird generell abgeraten, da sich die Positionen in der Registry mit jeder Windows-Version ändern können.
Wie Sie das Windows-Verzeichnis ermitteln können, erfahren Sie unter den Verweisen.