Einzelnen Beitrag anzeigen

ringli

Registriert seit: 7. Okt 2004
504 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: 'C:\Users\'+ Benutzername'\neu\ddd.txt' geht nicht

  Alt 23. Dez 2009, 21:04
Die Lösung mit dem alleinigen ermitteln des Benutzernamen hat noch einen weiteren Nachteil der unter Umständen dazu führt das du versuchst auf ein Verzeichnis zuzugreifen in dem du keine Schreibrechte hast. Es ist nämlich durchaus möglich das ein Benutzername zweimal auf dem gleichen System existiert. Dies ist z.B. der Fall wenn es ein lokales Profil und ein Domänenprofil mit dem selben Benutzernamen gibt.

Da ein Ordnername nicht zweimal in der selben Verzeichnisebene existieren kann macht Windows folgendes: Es legt einen neuen eindeutigen Ordner an. Dieser wird dann nach dem Schema Benutzername.Domäne erstellt. Was bedeutet das konkret für dich?

Ganz klar, dein Programm sucht eine Datei in einem falschen Verzeichnis bzw. versucht die Datei in ein Verzeichnis zu schreiben das entweder nicht existiert oder in dem du keine Schreibrechte hast. Von daher ist die Verwendung der bereits geposteten GetShellFolder-Funktion (bzw. ab Vista mit ShGetKnownFolderPath) vorzuziehen.
  Mit Zitat antworten Zitat