WindowsXP 和 Windows Vista 中不同的 Application SpecialFolders 指向哪些目录

问题描述 投票:0回答:3

即我有:

  • Environment.SpecialFolder.ApplicationData
  • Environment.SpecialFolder.CommonApplicationData
  • Environment.SpecialFolder.LocalApplicationData

我不清楚这些是否指向 Windows XP 和/或 Windows Vista。

到目前为止我发现ApplicationData在XP中指向当前用户的ApplicationData文件夹,在Vista中指向漫游应用程序数据文件夹。

我还想知道是否有关于何时使用哪个的一般准则。

windows windows-vista windows-xp environment-variables
3个回答
34
投票

对此没有单一的答案。事实上,这正是定义这些“SpecialFolder”的原因。您可以使用它们而不是硬编码路径。

Environment.SpecialFolder.ApplicationData

是最常见的一种。此文件夹保存除用户文档之外的每个用户的非临时应用程序特定数据。一个常见的示例是设置或配置文件。

Environment.SpecialFolder.CommonApplicationData

类似,但在用户之间共享。例如,您可以使用它来存储文档模板。

Environment.SpecialFolder.LocalApplicationData

是 ApplicationData 的非漫游替代方案。因此,您永远不会在那里存储重要数据。然而,因为它是非漫游的,所以它是临时文件、缓存等的好位置。它通常位于本地磁盘上。

    


29
投票
Use Environment.GetFolderPath(...);

并使用

MessageBox
Console.Write
,它会告诉您它指向的位置。您只需制作一个简单的应用程序,为您显示路径并在 Windows XP 或 Windows Vista 下运行它。
using System;

namespace EnvironmentCheck
{
    class Program
    {
        static void Main(string[] args)
    {
        Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\n");
        Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)+ "\n");
        Console.Write(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+ "\n");
    }
}
}

我在 Win 7 x64 上的结果

C:\Users\myUsername\AppData\Roaming
C:\程序数据

C:\Users\myUsername\AppData\Local


8
投票

应用数据:

C:\Documents and Settings\YourAccountHere\Application Data

通用应用程序数据:

C:\Documents and Settings\All Users\Application Data

本地应用程序数据:

C:\Documents and Settings\YourAccountHere\Local Settings\Application Data

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.