Каталог данных приложений Windows
С помощью переменной среды%allusersprofile% я могу получить каталог, в котором хранятся общие настройки. Но большинство программ хранят свои настройки в подпапке "anwendungsdaten" (немецкий, данные приложения). Есть ли способ получить прямой путь к этой папке? Проблема в том, что его имя зависит от языка. Благодарю.
3 ответа
Не уверен насчет того, какой язык программирования вы используете, поэтому я приму базовый API для Windows. В XP вы можете вызвать SHGetFolderPath с CSIDL_COMMON_APPDATA в качестве параметра. Похоже, Vista и 7 имеют новый набор функций, которые делают то же самое, вы, вероятно, захотите вызвать SHGetKnownFolderPath.
В Windows Forms вы можете использовать свойство Application.UserAppDataPath.
Я не вижу прямого способа получить эту информацию напрямую. Если больше ничего не приходит, единственное, что приходит на ум, - это что-то хакерское, которое, вероятно, сработает в 99% случаев:
принимать
%USERPROFILE%
принимать
%APPDATA%
принимать
%APPDATA%
и заменить%USERPROFILE%
по нуля. "Остальное" должно быть "/Application Data" или "/Anwendungsdaten" или что-то ещепринимать
%ALLUSERSPROFILE%
Добавьте результат шага 3. к нему
Вы должны получить правильный локализованный путь к каталогу "Appdata" профиля "Все пользователи".
Примечание: это не проверено, и у меня мало опыта в этой области. Но это может сработать.
Я не знаю ни одного прямого способа получить его, но если вас беспокоит язык, вы можете взять конец%APPDATA%, от последнего символа '\' до конца строки, и добавить его в%allusersprofile%.