Подтвердить что ты не робот

Как расширить переменную среды% CommonProgramFiles%\system\in.NET

У меня есть ситуация, когда мне нужно вернуть путь к каталогу, читая настройки реестра. Значение реестра возвращает мне путь в формате

%CommonProgramFiles%\System\web32.dll

в то время как потребительский код ожидает его в формате

C:\Program Files\Common Files\System\web32.dll

Как я могу разрешить такой путь каталога в .net-коде?

4b9b3361

Ответ 1

Environment.ExpandEnvironmentVariables. Если вы контролируете создание значения реестра, сохраните его как расширяемую строку в реестре, и API реестра автоматически расширит его для вас.

Ответ 2

Вы можете использовать функцию Environment.GetEnvironmentVariable:

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

Затем вы можете использовать Path.Combine, чтобы добавить оставшуюся часть пути:

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

Другой вариант - использовать Environment.ExpandEnvironmentVariables. Это заменит все переменные среды на их значения:

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