2010-04-25 5 views

Répondre

25

Environment.ExpandEnvironmentVariables. Si vous contrôlez la création de la valeur de registre, stockez-la comme une chaîne extensible dans le registre et l'API de registre l'étendra automatiquement pour vous.

+0

je besoin d'un chemin complet et il pourrait être toute autre variable d'environnement, non seulement% CommonProgramFiles% – Faisal

+2

Je ne comprends pas votre commentaire, @Faisal. 'ExpandEnvironmentVariables' va développer toute variable d'environnement qu'il voit dans la chaîne que vous fournissez, et donnera un chemin complet dans le cas spécifique que vous citez dans la question. –

+1

ok cela a fonctionné. Merci – Faisal

18

Vous pouvez utiliser la fonction Environment.GetEnvironmentVariable:

string commonDir = Environment.GetEnvironmentVariable("CommonProgramFiles"); 

Vous pouvez ensuite utiliser Path.Combine pour ajouter le reste du chemin:

string fullPath = Path.Combine(commonDir, "System", "web32.dll"); 

Une autre option consiste à utiliser Environment.ExpandEnvironmentVariables. Cela remplacera toutes les variables d'environnement avec leurs valeurs:

string fullPath = Environment.ExpandEnvironmentVariables("%CommonProgramFiles%\System\web32.dll"); 
+0

Bien sûr, cette substitution de 'Path.Combine' ne fonctionne que dans la version 4 du framework –