2010-03-25 2 views
4

С переменной окружения% allusersprofile% Я могу получить каталог, в котором хранятся общие настройки. Но большинство программ сохраняют свои настройки в подпапке «anwendungsdaten» (немецкий, данные приложения). Есть ли способ получить прямой путь к этой папке? Проблема в том, что его имя зависит от языка. Спасибо.Каталог данных приложений Windows

ответ

3

Не уверен, какой язык программирования вы используете, поэтому я возьму базовую Windows api. В XP вы можете вызвать SHGetFolderPath с CSIDL_COMMON_APPDATA в качестве параметра. Похоже, что Vista и 7 имеют new set of functions, которые делают то же самое, вы, вероятно, захотите позвонить SHGetKnownFolderPath.

В Windows Forms вы можете использовать свойство Application.UserAppDataPath.

0

Я не знаю о каком-либо прямом способе его получения, но если речь идет о вашей проблеме, вы можете захватить конец% APPDATA%, от последнего символа '\' до конца строки и добавить что% allusersprofile%.

1

Я не вижу прямого способа получить эту информацию напрямую. Если ничего не приходит, то единственное, что приходит на ум, это что-то Hacky, что вероятно, будет работать в 99% всех случаев:

  1. Возьмите %USERPROFILE%

  2. Возьмите %APPDATA%

  3. Возьмите %APPDATA% и замените %USERPROFILE% на null. "Остальное" должно быть "/ Data Application" или "/ Anwendungsdaten" или что-то

  4. Возьмите %ALLUSERSPROFILE%

  5. Добавьте результат шага 3. к нему

  6. Вы должны закончить с правильный локализованный путь к каталогу «Appdata» профиля «Все пользователи».

Примечание: Это не проверено, и у меня мало опыта в этом поле. Но это может сработать.

Смежные вопросы