代码之家  ›  专栏  ›  技术社区  ›  Faisal

如何在.NET中展开环境变量%CommonProgramFiles%\system\

  •  21
  • Faisal  · 技术社区  · 16 年前

    我需要通过读取注册表设置返回一个目录路径。注册表值以以下格式返回路径

    %CommonProgramFiles%\System\web32.dll
    

    而用户代码期望它的格式

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

    如何在.net代码中解析这样的目录路径?

    2 回复  |  直到 14 年前
        1
  •  33
  •   Marcelo Cantos    16 年前

    Environment.ExpandEnvironmentVariables . 如果您控制注册表值的创建,请将其作为可展开字符串存储在注册表中,注册表API将自动为您展开它。

        2
  •  20
  •   Oded    16 年前

    你可以用 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");