Wie kann ich den Pfad des „Application Data“ Ordner des aktuellen Benutzers?

StackOverflow https://stackoverflow.com/questions/915210

  •  06-09-2019
  •  | 
  •  

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".

War es hilfreich?

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önnten
Environment.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%");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top