C#路径压缩问题

问题描述:

我遇到了路径压缩问题。我正在读取注册表值,例如%USERPROFILE%\ AppData \ Roaming。我遇到的问题是不断扩展到C:\ Users \ John \ AppData \ Roaming的路径。 我知道环境扩展,但我不想使用它,以防将来遇到路径压缩问题。我使用的代码是:C#路径压缩问题

RegistryKey hkUsersPath = Registry.Users.OpenSubKey(@".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\"); 

DefaultAppData = Convert.ToString(hkUsersPath.GetValue("AppData")); 
if (hkUsersPath.GetValue("AppData") == null) 
DefaultAppData = Convert.ToString(hkUsersPath.GetValue("APPDATA")); 

任何建议是值得欢迎的。谢谢。

有一个overloaded GetValue method,你可以打电话,你不能指定扩大环境变量:

hkUsersPath.GetValue("AppData", null, RegistryValueOptions.DoNotExpandEnvironmentNames); 
+0

谢谢!我正在浏览重载的方法,但我想我忽略了它。完美的作品! – 2011-01-07 19:29:49