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

正确使用windows用户配置文件目录

  •  3
  • theycallmemorty  · 技术社区  · 14 年前

    c:\Documents and Settings\someusername\ c:\users\someusername\

    如果我想成为一个好公民,这个目录在用户配置文件中的最佳位置是什么?我应该注意,我的程序将运行(可能)非管理员用户,将只需要访问自己的配置文件,但他们必须有创建文件夹的权限。

    使用 My Documents\NameOfMyApp\

    对于这种类型的数据,是否有更好的位置以及访问它的特定MFC调用?

    3 回复  |  直到 14 年前
        1
  •  4
  •   Jerry Coffin    14 年前

    我会考虑使用AppData目录。你可以通过 SHGetSpecialFolderLocation 传递它 CSIDL_APPDATA ;(或者有很多替代品——几乎每一个版本的Windows都会为 , SHGetSpecialFolderPath

        2
  •  1
  •   Byron Whitlock    14 年前

    请看以下win32调用:

    您可能希望使用GetUserProfileDirectory并将数据放在appname所在的子目录中。

    你肯定会想使用这个函数,因为没有“ \文档和设置 vista及更高版本上的文件夹,已更改为 ".

        3
  •  0
  •   gWaldo    14 年前

    作为一个好的申请公民,你应该使用: [驱动器]:\Documents and Settings[用户名]\Application Data[应用程序名称]或 [驱动器]:\文档和设置[用户名]\本地设置\应用程序数据[应用程序名称] (在Vista和Win7上,“文档和设置”被替换,最明智的做法是“用户”)

    TEMP路径提供到用户的单个TEMP目录的路径

    如果临时文件不是特定于用户的,那么可以使用C:\temp

    编辑:如果您要使用特定于用户的位置,我强烈建议您使用环境变量(XP和2000上的USERPATH),而不是硬编码路径。

    -瓦尔多

    另外,谢谢你问这个问题。我看到太多的应用程序表现不好。根本的C:驱动器不是你应该扔东西的地方!至少,(测试是否存在,必要时创建,并)使用C:\Temp。

    推荐文章