【问题标题】:Windows application data directoryWindows 应用程序数据目录
【发布时间】:2011-01-31 20:31:42
【问题描述】:

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

【问题讨论】:

    标签: windows application-settings appdata


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我看不到任何直接获取此信息的直接方法。如果没有其他问题出现,唯一能想到的就是可能在 99% 的情况下都可以使用的 hacky:

      1. %USERPROFILE%

      2. %APPDATA%

      3. %APPDATA% 并将%USERPROFILE% 替换为null。 “其余”应该是“/Application Data”或“/Anwendungsdaten”或其他任何内容

      4. %ALLUSERSPROFILE%

      5. 将第 3 步的结果添加到其中

      6. 您应该最终获得“所有用户”配置文件的“Appdata”目录的正确本地化路径。

      注意:这是未经测试的,我在这个领域几乎没有经验。但它可能会起作用。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-08-28
          • 2011-06-11
          • 1970-01-01
          • 2020-05-07
          • 1970-01-01
          相关资源
          最近更新 更多