Каталог данных приложений Windows - PullRequest
4 голосов
/ 25 марта 2010

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

Ответы [ 3 ]

3 голосов
/ 25 марта 2010

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

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

1 голос
/ 25 марта 2010

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

  1. Взять %USERPROFILE%

  2. Take %APPDATA%

  3. Возьмите %APPDATA% и замените %USERPROFILE% на ноль. «Остальное» должно быть «/ Application Data» или «/ Anwendungsdaten» или как угодно

  4. Взять %ALLUSERSPROFILE%

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

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

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

0 голосов
/ 25 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...