Windows Vista 中 %allusersprofile% 文件夹的位置?

Posted

技术标签:

【中文标题】Windows Vista 中 %allusersprofile% 文件夹的位置?【英文标题】:Location of %allusersprofile% folder in Windows Vista? 【发布时间】:2010-10-21 12:48:12 【问题描述】:

Windows Vista 中 %allusersprofile% 文件夹的确切路径是什么?在某些系统上,我看到文件夹为“c:\Users\All Users”,在某些系统上它映射到“C:\ProgramData”,而在其他系统上它已映射到“C:\Users\Public”。

如果您可以提供指向 microsoft 文档参考的链接,将会非常有帮助(到目前为止,我无法挖掘出链接)。

编辑: 注册表设置确实定义了文件夹的位置。我正在寻找更多关于 Windows 在安装时如何解释/定义这些文件夹的内容? Microsoft Windows Vista 定义的此文件夹的默认位置是什么?

【问题讨论】:

【参考方案1】:

你为什么在乎?只需使用环境变量(或KnownFolderId,保证永远有效。

Microsoft 明天可能会决定将目录移动到另一个位置 - 只要您继续使用环境变量就可以了。

如果您对值进行硬编码,您的代码在未来中断。

【讨论】:

我关心的原因是因为应用程序将在沙盒环境中运行,并且无法访问系统注册表或系统环境变量。 我会在您的沙箱中使用 KnownFolderId 建议。【参考方案2】:

MSDN 上的This document 展示了 Vista 中用于定位已知文件夹的新方法,包括您专门询问的文件夹:"C:\Documents and Settings"

我认为这可以通过更改注册表(并移动当前目录)来更改。

【讨论】:

感谢您的链接。我正在做一些研究,需要有关 Windows 如何在安装时确定文件夹位置的信息。只有在 Windows Vista 做出决定后才编写注册表。 如果没有记录,那么您就不能依赖它。软件公司保留大量此类内容未记录的主要原因之一是因为一旦发布,您就无法在不惹恼很多人的情况下对其进行更改。你需要问 MS——也许 Raymond Chen 可以提供帮助,但我怀疑他会给你同样的建议——你可能会发现,但它并不可靠 :-) 我已经通过MSDN提出了问题,还在等待回复:(【参考方案3】:

我发现这些特殊文件夹位置有时令人困惑。我创建了一张表格,比较了 Windows XP 和 Vista 上的文件夹位置。这可能对你有用。 Here is the link.

【讨论】:

感谢您的工作表。但是,我正在寻找有关 Windows 在安装时如何决定将这些文件夹映射到何处的文档。您所做的条目已经在注册表设置中(参见上一个答案)。

以上是关于Windows Vista 中 %allusersprofile% 文件夹的位置?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 2008/7/Vista 中使 Windows 服务蜂鸣

Java (+- JNA) 中有没有办法在 XP+Vista+Windows 7 中可靠地设置主系统音量?

Windows Vista 与Windows Xp的区别

为啥我的 Joomla 模板无法在 Windows 7 / Vista 的 IE9 中正确加载?

如何获取 Vista/Windows7 等列表视图

在 Vista/Windows 7 WPF FileDialog.Filter 中隐藏扩展