Подтвердить что ты не робот

Что такое WPF-эквивалент "System.Windows.Forms.Application.X" для получения пути запуска, пути данных приложения и т.д.?

Я конвертирую приложение форм Windows в приложение WPF. Есть ли способ получить такие вещи, как Путь автозагрузки, Путь данных пользовательского приложения, Общий путь данных приложения и т.д. Без ссылки на System.Windows.Forms?

Раньше я использовал System.Windows.Forms.Application.StartupPath, но объект System.Windows.Application.Current не содержит ту же информацию.

4b9b3361

Ответ 1

Возможно, вы захотите посмотреть System.Environment.GetFolderPath.

Значения SpecialFolder enum многочисленны:

ApplicationData
CommonApplicationData
CommonProgramFiles
Cookies
Desktop
DesktopDirectory
Favorites
History
InternetCache
LocalApplicationData
MyComputer
MyDocuments
MyMusic
MyPictures
Personal
ProgramFiles
Programs
Recent
SendTo
StartMenu
Startup
System
Templates

Это полезно?

Ответ 3

Вы можете использовать класс среды для получения всех типов системной информации. Для каталогов используйте метод Environment.GetFolderPath.

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);

Ответ 4

Я понимаю и соглашаюсь с тем, что ссылки на System.Windows.Forms.dll выглядят уродливыми, но я думаю, что лучше, чем уменьшить повторное использование кода и изобретать велосипед, а не просто еще одну ссылку.

Я использую например System.Windows.Forms.Application.ProductVersion в своих консольных приложениях, не люблю этого, но думаю, что меньшее зло..

См. также этот вопрос о SO