Come posso ottenere il percorso dell'utente corrente della cartella “Dati Applicazioni”?

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

  •  06-09-2019
  •  | 
  •  

Domanda

1)come posso trovare l'unità di Installazione di Windows in cui l'utente sta lavorando.?Ho bisogno di questo per passare alla ApplicationData in DocumentsandSettings.

2)Inoltre come posso ottenere il nome utente troppo in modo che io possa goto ApplicaitionData.?Ad esempio:"D:\Documents and Settings\utente\Dati Applicazioni".

È stato utile?

Soluzione

Guardate che combina Ambiente.GetFolderPath e Ambiente.SpecialFolder per fare questo.

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

Altri suggerimenti

A seconda di che cosa si sta facendo, si potrebbe anche voler guardare

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

Se l'utente si trova su un dominio non saranno archiviati in locali AppData cartella e non sono sincronizzate con il proprio profilo comune.

Avere uno sguardo al Environment.SpecialFolders

Environment.SpecialFolder.ApplicationData;
Environment.SpecialFolder.System

che dovrebbe farti arrotondare il nome utente requisito.

Hanno un occhiata al Sistema.Ambiente di classe e di sua proprietà e metodi, e.g:

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

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

Il primo restituisce "C:\Windows\system32"per esempio, e la seconda "C:\Documents and Settings ome utente\Documenti".

Prova questo:

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

1)come posso trovare l'unità di Installazione di Windows in cui l'utente è il lavoro.?

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

Ho bisogno di questo per passare alla ApplicationData in DocumentsandSettings.

Non hai veramente bisogno di recuperare il valore delle unità di sistema o utente attualmente loggato nome per raggiungere questo obiettivo.Ci sono predefinite le variabili di ambiente %localAppData% e %appData% che dare il percorso completo del file di queste directory, come illustrato nel codice riportato di seguito:

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)Inoltre come posso ottenere il nome utente troppo in modo che io possa goto ApplicaitionData.?Ad esempio:"D:\Documents and Settings\utente\Application Dati".

Di nuovo, non hai bisogno di nome utente per ottenere l'applicazione di dati di percorso, come ho discusso in precedenza.Comunque, per amor di conoscenza, è possibile scaricarlo da %username% variabile di ambiente come mostrato di seguito:

    var currentUserName = Environment.ExpandEnvironmentVariables("%username%");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top