Я пытаюсь получить фактические значения из переменных среды .Это то, что у меня есть:
string query = string.Format("Select VariableValue From Win32_Environment Where Name = '{0}'", variableName);
using (var searcher = new ManagementObjectSearcher(query))
using (ManagementObject result = searcher.Get().Cast<ManagementObject>().FirstOrDefault())
{
if (result != null)
return Convert.ToString(result["VariableValue"]);
}
Это работает, но вот проблема: передача 'windir' в качестве имени получает '% SystemRoot%' в качестве значения .Что я действительно хочу - это фактический путь , то есть 'C: \ Windows'.
I пробовал с использованием рекурсия чтобы получить значение 'SystemRoot' , но совпадений не найдено .
Как я могу убедиться, что реальные значения будут возвращены?Thx!