1) Comment puis-je trouver le lecteur d'installation Windows dans lequel l'utilisateur travaille.? J'en ai besoin pour accéder à ApplicationData dans DocumentsandSettings.
2) Comment puis-je également obtenir le nom d'utilisateur pour que je puisse obtenir des données d'application.? Par exemple: "D:\Documents and Settings\user\Application Data".
Regardez pour combiner Environment.GetFolderPath et Environment.SpecialFolder pour ce faire.
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Selon ce que vous faites, vous voudrez peut-être aussi regarder
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
Si l'utilisateur se trouve sur un domaine, il sera uniquement stocké dans son dossier AppData
local et non synchronisé avec son profil itinérant.
Jetez un oeil à la Environment.SpecialFolders
Environment.SpecialFolder.ApplicationData;
Environment.SpecialFolder.System
cela devrait également vous permettre de contourner l'exigence du nom d'utilisateur.
Jetez un œil à la classe System.Environment et à ses propriétés et méthodes, par exemple:
string systemDir = System.Environment.SystemDirectory;
string docs = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.MyDocuments));
string systemDrive = System.IO.Path.GetPathRoot(systemDir);
Le premier retourne "C:\Windows\system32" par exemple et le second "C:\Documents and Settings\USERNAME\My Documents".
Essaye ça:
string filePath = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);
1) Comment puis-je trouver le lecteur d'installation Windows dans lequel l'utilisateur travaille.?
var systemDrive = Environment.ExpandEnvironmentVariables("%systemdrive%");
J'en ai besoin pour naviguer vers ApplicationData dans DocumentsandSettings.
Vous n'avez pas vraiment besoin de récupérer la valeur du lecteur système ou du nom d'utilisateur actuellement connecté pour y parvenir. Il existe des variables d'environnement prédéfinies %localAppData%
et %appData%
qui vous donne le chemin complet de ces répertoires comme indiqué dans le code ci-dessous:
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) Comment puis-je également obtenir le nom d'utilisateur pour pouvoir accéder à ApplicaitionData.? Par exemple: "D:\Documents and Settings\user\Application Data".
Encore une fois, vous n'avez pas besoin d'un nom d'utilisateur pour obtenir le chemin des données d'application comme je l'ai expliqué ci-dessus. Pourtant, pour des raisons de connaissance, vous pouvez le récupérer à partir de %username%
variable d'environnement comme indiqué ci-dessous:
var currentUserName = Environment.ExpandEnvironmentVariables("%username%");