Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 'C:\Users\'+ Benutzername'\neu\ddd.txt' geht nicht (https://www.delphipraxis.net/145080-c-%5Cusers%5C-benutzername%5Cneu%5Cddd-txt-geht-nicht.html)

Namenloser 23. Dez 2009 21:05

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

Zitat von -Phantom-
Oke... Also hab ich das nun so verstanden das meine Funktion den Benutzernamen herauszufinden nur unter Vista geht und nicht unter XP?

Nö, die Funktion funktioniert auch unter XP. Nur landest du in einem nicht existenten Verzeichnis.

ringli 23. Dez 2009 22:04

Re: 'C:\Users\'+ Benutzername'\neu\ddd.txt' geht nicht
 
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.

Christian Seehase 23. Dez 2009 22:47

Re: 'C:\Users\'+ Benutzername'\neu\ddd.txt' geht nicht
 
Noch ein Ergänzung zu ringlis Anmerkungen:

Der Anmeldename (Username) muss nicht gleich dem Profilnamen sein.
Letzerer bleibt nämlich gleich, wenn der Anmeldenamen geändert wird.

-Phantom- 24. Dez 2009 02:30

Re: 'C:\Users\'+ Benutzername'\neu\ddd.txt' geht nicht
 
Oke alles klar hab verstanden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz