2009-05-27 6 views

Antwort

4

Werfen Sie einen Blick auf die Environment.SpecialFolders

Environment.SpecialFolder.ApplicationData; 
Environment.SpecialFolder.System 

, die Sie rund um die Benutzeranforderung auch bekommen sollte.

2

Try this:

string filePath = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData); 
3

Werfen Sie einen Blick auf die System.Environment Klasse und ihre Eigenschaften und Methoden, zum Beispiel:

string systemDir = System.Environment.SystemDirectory; 
string docs = System.Environment.GetFolderPath(
    System.Environment.SpecialFolder.MyDocuments)); 

string systemDrive = System.IO.Path.GetPathRoot(systemDir); 

Die erste gibt "C: \ Windows \ system32 "zum Beispiel und der zweite" C: \ Dokumente und Einstellungen \ BENUTZERNAME \ Eigene Dateien ".

14

Je nachdem, was Sie tun, Sie könnten auch bei

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 

aussehen soll Wenn der Benutzer in einer Domäne ist, wird es nur in ihrem lokalen AppData Ordner und nicht synchronisiert mit ihrem Roaming-Profil gespeichert werden.

+0

Danke, genau die Situation, die ich zu bewältigen benötigt. Das Zeug, das ich brauche, ist tatsächlich in AppData/Local und nicht in AppData/Roaming, das standardmäßig von diesem Aufruf zurückgegeben wird – PandaWood

0

1) Wie kann ich das Windows-Installationslaufwerk herausfinden, in dem der Benutzer arbeitet?

var systemDrive = Environment.ExpandEnvironmentVariables("%systemdrive%"); 

Ich brauche dies in DocumentsandSettings zum Anwendungsdaten zu navigieren.

Sie müssen nicht unbedingt den Wert eines der beiden Systemlaufwerke oder den aktuell angemeldeten Benutzernamen abrufen, um dies zu erreichen. Es gibt vordefinierte Umgebungsvariablen %localAppData% und %appData%, die Ihnen vollständig qualifizierten Pfad dieser Verzeichnisse geben, wie in dem unten stehenden Code dargestellt:

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 die Benutzername bekomme auch so, dass ich gehe zu Anwendungsdaten. ZB: "D: \ Dokumente und Einstellungen \ Benutzer \ Anwendung Daten".

Wieder benötigen Sie keinen Benutzernamen, um den Anwendungsdatenpfad wie oben beschrieben zu erhalten.Dennoch, im Interesse des Wissens können Sie es von %username% Umgebungsvariable holen, wie unten dargestellt:

var currentUserName = Environment.ExpandEnvironmentVariables("%username%"); 
Verwandte Themen