Benutzer mit den meisten Antworten
C# Funtkion *.getUserName funktioniert auf Domänen Computer nicht!

Frage
-
Hey,
wenn ich mit der Methode
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
den Username herausfinde und ich auf dem PC angemeldet ist wo man sich an einer Domäne anmelden muss dann giebt er mir als Username (z.B.) das aus: 'AUA02\Admin' [Also die Domäne ist 'AUA02'].
Wie lasse ich dann die Domäne weg?
Also das ich nur 'Admin' bekomme??
Weil ich möchte in dem Order 'C:\Users\[USERNAME]\AppData\Roaming\' meine Daten erstellen!
____________________________________________________
Achja...
Damit ihr es wisst.
Das Programm das ich gerade schreibe wird an Schulrechnern Ausgeführt!!!!!
Emanuel B. ~ BNCrazzyCat
- Bearbeitet BNCrazzyCat Montag, 9. Januar 2017 06:59 EDIT-1
- Verschoben Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 10. Januar 2017 07:19 Aus: Weitere Programmiersprachen
Antworten
-
Hallo Emanuel,
die Lösung, um den Benutzernamen herauszufinden hast du ja bereits gefunden.
Wenn du allerdings auf AppData\Roaming zugreifen willst wirst du auf diese weise trotzdem keinen Erfolg haben. Denn seit mindestens Windows 8 ist der angezeigte Benutzername nicht mehr Zwingend der Name des Benutzerordners.
Den Ordnerpfad von AppData für den aktuellen Benutzer erhältst du wie folgt:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub- Als Antwort markiert BNCrazzyCat Montag, 9. Januar 2017 12:25
Alle Antworten
-
Hallo Emanuel,
die Lösung, um den Benutzernamen herauszufinden hast du ja bereits gefunden.
Wenn du allerdings auf AppData\Roaming zugreifen willst wirst du auf diese weise trotzdem keinen Erfolg haben. Denn seit mindestens Windows 8 ist der angezeigte Benutzername nicht mehr Zwingend der Name des Benutzerordners.
Den Ordnerpfad von AppData für den aktuellen Benutzer erhältst du wie folgt:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub- Als Antwort markiert BNCrazzyCat Montag, 9. Januar 2017 12:25
-
Achso okay danke!
Also wenn ich dann das so mache:
string SavePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Roaming\\";
wird das dann so funktionieren??
Und funktioniert das auch auf Windows 7??
Emanuel B. ~ BNCrazzyCat
-
Ja, das funktioniert auch schon auf Windows 7. Das sollte auch in den Versionen davor funktionieren, aber da habe ich es nie benutzt/getestet.
Statt den Pfad manuell zusammen zu bauen würde ich jedoch Path.Combine benutzen. Das kümmert sich dann für dich um die \ im Pfad.
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub