使用环境变量 %allusersprofile% 我可以获得存储常用设置的目录。但大多数程序将其设置存储在子文件夹“anwendungsdaten”(德语,应用程序数据)中。有没有办法获得这个文件夹的直接路径?问题是它的名字取决于语言。谢谢。
3 回答
不确定您使用的是什么编程语言,所以我假设是基本的 Windows api。在 XP 中,您可以使用 CSIDL_COMMON_APPDATA 作为参数调用SHGetFolderPath 。看起来 Vista 和 7 有一组新的函数可以做同样的事情,你可能想调用SHGetKnownFolderPath。
在Windows 窗体中,您可以使用 Application.UserAppDataPath 属性。
我看不到任何直接获取此信息的直接方法。如果没有其他问题出现,唯一想到的就是一些 hacky,它可能在 99% 的情况下都有效:
拿
%USERPROFILE%
拿
%APPDATA%
取
%APPDATA%
并替换%USERPROFILE%
为null。“其余”应该是“/Application Data”或“/Anwendungsdaten”或其他拿
%ALLUSERSPROFILE%
将步骤 3. 的结果添加到其中
您应该最终获得“所有用户”配置文件的“Appdata”目录的正确本地化路径。
注意:这是未经测试的,我在这个领域几乎没有经验。但它可能会奏效。
我不知道有什么直接的方法可以得到它,但是如果你关心语言,那么你可以抓住 %APPDATA% 的结尾,从最后一个 '\' 符号到字符串的结尾,并将其附加到 %allusersprofile %。