Pregunta

Estoy intentando crear un proceso de esta manera:

var psi = new ProcessStartInfo
{
    FileName = @"%red_root%\bin\texturepreviewer.exe",
    UseShellExecute = true
};

var process = Process.Start(psi);
process.WaitForExit();

Ahora la variable de entorno "red_root" sin duda existe en el proceso generado variables de entorno, pero no parece que la ejecución de ampliar la variable de entorno y por lo tanto no se encuentra el archivo. ¿Cómo puedo obtener el Process.Start para ampliar la variable de entorno en el nombre del archivo?

¿Fue útil?

Solución

El Environment.ExpandEnvironmentVariables método debe ayudar aquí.

Reemplaza el nombre de cada entorno variable integrada en el especificado cadena con la cadena equivalente de el valor de la variable, entonces devuelve la cadena resultante.

string unexpandedPath = "%red_root%\\bin\\texturepreviewer.exe";   
psi.FileName = Environment.ExpandEnvironmentVariables(unexpandedPath);

Otros consejos

¿Usted ha intentado System.Environment.GetEnvironmentVariable ("red_root", EnvironmentVariableTarget.Machine)?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top