如何在.NET中扩展环境变量%CommonProgramFiles%\ system \
我有一种情况,我需要通过读取注册表设置返回目录路径。 注册表值返回格式的路径
%CommonProgramFiles%\System\web32.dll
而消费者代码期望它的格式
C:\Program Files\Common Files\System\web32.dll
如何在.net代码中解析此类目录路径?
Environment.ExpandEnvironmentVariables
。 如果您控制注册表值的创建,请将其存储为注册表中的可扩展字符串,注册表API将自动为您展开它。
您可以使用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");