Wie kann ich den Pfad des „Application Data“ Ordner des aktuellen Benutzers?
Frage
1) Wie kann ich das Windows-Installations-Laufwerk, in dem herausfinden, der Benutzer arbeitet.? Ich muss dies auf die Anwendungsdaten navigieren in DocumentsandSettings.
2) Auch wie kann ich die Benutzernamen erhalten zu, so dass ich gehe zu ApplicaitionData.? ZB: "D: \ Dokumente und Einstellungen \ Benutzer \ Anwendungsdaten".
Lösung
Schauen Sie sich die Kombination von Environment.GetFolderPath und < a href = "http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx" rel = "noreferrer"> Environment.SpecialFolder dies zu tun.
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Andere Tipps
Je nachdem, was Sie tun, Sie auch bei
aussehen wollen könntenEnvironment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
Wenn der Benutzer in einer Domäne ist, wird es nur in ihrem lokalen AppData
Ordner gespeichert wird und nicht mit ihrem Roaming-Profil synchronisiert.
Haben Sie einen Blick auf die Environment.SpecialFolders
Environment.SpecialFolder.ApplicationData;
Environment.SpecialFolder.System
das sollte man um die Benutzeranforderung erhält als gut.
Haben Sie einen Blick auf die System.Environment Klasse und ihre Eigenschaften und Methoden, z:
string systemDir = System.Environment.SystemDirectory;
string docs = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.MyDocuments));
string systemDrive = System.IO.Path.GetPathRoot(systemDir);
Die erste returns " C: \ Windows \ system32 " zum Beispiel und der zweite " C: \ Dokumente und Einstellungen \ Benutzername \ Eigene Dateien ".
Versuchen Sie folgendes:
string filePath = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);
1) Wie kann ich das Windows-Installations-Laufwerk, in dem der Benutzer herausfinden, funktioniert.?
var systemDrive = Environment.ExpandEnvironmentVariables("%systemdrive%");
Ich brauche dies auf die Anwendungsdaten zu navigieren in DocumentsandSettings.
Sie haben nicht wirklich benötigen Sie den Wert von entweder dem Systemlaufwerk zu holen oder zur Zeit in Benutzername angemeldet, dies zu erreichen. Es gibt vordefinierte Umgebungsvariablen %localAppData%
und %appData%
, die Ihnen vollständig qualifizierten Pfad dieser Verzeichnisse geben, wie im folgenden Code gezeigt:
var localApplicationData = Environment.ExpandEnvironmentVariables("%localappdata%");
//this gives C:\Users\<userName>\AppData\Local
var roamingApplicationData = Environment.ExpandEnvironmentVariables("%appdata%");
//this gives C:\Users\<userName>\AppData\Roaming
2) Auch, wie kann ich den Benutzernamen bekommen auch so, dass ich gehe zu ApplicaitionData.? ZB: „D: \ Dokumente und Einstellungen \ Benutzer \ Anwendungs Daten“.
Auch hier müssen Sie keine Benutzername, um den Anwendungsdatenpfad zu erhalten, wie ich oben beschrieben habe. Dennoch, im Interesse des Wissens können Sie es von %username%
Umgebungsvariable holen, wie unten dargestellt:
var currentUserName = Environment.ExpandEnvironmentVariables("%username%");