Windows应用程序数据目录

时间:2010-03-25 17:32:32

标签: windows application-settings appdata

使用环境变量%allusersprofile%我可以获得存储公共设置的目录。但是大多数程序将其设置存储在子文件夹“anwendungsdaten”(德语,应用程序数据)中。有没有办法获得这个文件夹的直接路径?问题是它的名称取决于语言。 感谢。

3 个答案:

答案 0 :(得分:3)

不确定您使用的编程语言,因此我将假设基本的Windows API。在XP中,您可以使用CSIDL_COMMON_APPDATA作为参数调用SHGetFolderPath。看起来Vista和7有new set of functions做同样的事情,你可能想打电话给SHGetKnownFolderPath

Windows Forms中,您可以使用Application.UserAppDataPath属性。

答案 1 :(得分:1)

我看不到任何直接获取此信息的方法。如果没有其他事情出现,那么唯一想到的就是hacky,它可能会在99%的情况下起作用:

  1. 选择%USERPROFILE%

  2. 选择%APPDATA%

  3. %APPDATA%并将%USERPROFILE%替换为空。 “休息”应为“/ Application Data”或“/ Anwendungsdaten”或其他

  4. 选择%ALLUSERSPROFILE%

  5. 将步骤3的结果添加到

  6. 您最终应该找到“所有用户”个人资料的“Appdata”目录的正确本地化路径。

  7. 注意:这是未经测试的,我在这个领域没什么经验。但它可能会奏效。

答案 2 :(得分:0)

我不知道有任何直接的方法来获取它,但如果语言是你的关注,那么你可以抓住%APPDATA%的结尾,从最后的'\'符号到字符串的结尾,然后追加至%allusersprofile%。