Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

  1. Брать %USERPROFILE%

  2. Брать %APPDATA%

  3. Брать %APPDATA% и заменить %USERPROFILE% Null. «Отдых» должен быть «/данные приложения» или «/anwendungsdaten» или что -то еще

  4. Брать %ALLUSERSPROFILE%

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top