C# 路径压缩问题

发布于 2024-10-10 18:15:43 字数 511 浏览 1 评论 0原文

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

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"));

欢迎任何建议。谢谢。

I'm having an issue with path compression. I'm reading a registry value, such as %USERPROFILE%\AppData\Roaming. The problem I'm having is it keeps expanding the the path out to C:\Users\John\AppData\Roaming.
I know about Environment Expand, but I don't want to use that in case I have an path compression issue in the future. The code I'm using is:

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"));

Any advice is welcome. Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

永不分离 2024-10-17 18:15:43

有一个重载的 GetValue 方法,您可以在其中指定不调用该方法展开环境变量:

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

There's an overloaded GetValue method that you can call where you can specify not to expand environment variables:

hkUsersPath.GetValue("AppData", null, RegistryValueOptions.DoNotExpandEnvironmentNames);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文