【发布时间】:2011-01-31 20:31:42
【问题描述】:
使用环境变量 %allusersprofile% 我可以获得存储常用设置的目录。但大多数程序将其设置存储在子文件夹“anwendungsdaten”(德语,应用程序数据)中。有没有办法获得这个文件夹的直接路径?问题是它的名字取决于语言。 谢谢。
【问题讨论】:
标签: windows application-settings appdata
使用环境变量 %allusersprofile% 我可以获得存储常用设置的目录。但大多数程序将其设置存储在子文件夹“anwendungsdaten”(德语,应用程序数据)中。有没有办法获得这个文件夹的直接路径?问题是它的名字取决于语言。 谢谢。
【问题讨论】:
标签: windows application-settings appdata
不确定您使用的是什么编程语言,所以我假设是基本的 Windows api。在 XP 中,您可以使用 CSIDL_COMMON_APPDATA 作为参数调用 SHGetFolderPath。看起来 Vista 和 7 有一个 new set of functions 做同样的事情,你可能想打电话给 SHGetKnownFolderPath。
在Windows Forms 中,您可以使用Application.UserAppDataPath 属性。
【讨论】:
我看不到任何直接获取此信息的直接方法。如果没有其他问题出现,唯一能想到的就是可能在 99% 的情况下都可以使用的 hacky:
以%USERPROFILE%
以%APPDATA%
取%APPDATA% 并将%USERPROFILE% 替换为null。 “其余”应该是“/Application Data”或“/Anwendungsdaten”或其他任何内容
以%ALLUSERSPROFILE%
将第 3 步的结果添加到其中
您应该最终获得“所有用户”配置文件的“Appdata”目录的正确本地化路径。
注意:这是未经测试的,我在这个领域几乎没有经验。但它可能会起作用。
【讨论】:
我不知道任何直接获取它的方法,但是如果您关心语言,那么您可以抓住 %APPDATA% 的结尾,从最后一个 '\' 符号到字符串的结尾,然后附加它到 %allusersprofile%。
【讨论】: