Comment puis-je assurer augmentera les variables d'environnement C # 's Process.Start?
-
10-10-2019 - |
Question
Je tente de créer un processus comme ceci:
var psi = new ProcessStartInfo
{
FileName = @"%red_root%\bin\texturepreviewer.exe",
UseShellExecute = true
};
var process = Process.Start(psi);
process.WaitForExit();
Maintenant, la variable d'environnement « red_root » existe bel et bien dans le processus donné naissance à variables d'environnement, mais l'exécution ne semble pas étendre la variable d'environnement et que le fichier est introuvable. Comment puis-je obtenir le Process.Start d'étendre la variable d'environnement dans le nom de fichier?
La solution
Le Environment.ExpandEnvironmentVariables
méthode devrait aider.
Remplace le nom de chaque environnement variable incorporée dans le spécifié chaîne avec la chaîne équivalente de la valeur de la variable, puis renvoie la chaîne résultante.
string unexpandedPath = "%red_root%\\bin\\texturepreviewer.exe";
psi.FileName = Environment.ExpandEnvironmentVariables(unexpandedPath);
Autres conseils
Avez-vous essayé System.Environment.GetEnvironmentVariable ("red_root", EnvironmentVariableTarget.Machine)
?