Что такое WPF-эквивалент "System.Windows.Forms.Application.X" для получения пути запуска, пути данных приложения и т.д.?
Я конвертирую приложение форм Windows в приложение WPF. Есть ли способ получить такие вещи, как Путь автозагрузки, Путь данных пользовательского приложения, Общий путь данных приложения и т.д. Без ссылки на System.Windows.Forms?
Раньше я использовал System.Windows.Forms.Application.StartupPath
, но объект System.Windows.Application.Current
не содержит ту же информацию.
Ответы
Ответ 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
Это полезно?
Ответ 2
это поможет
для Application.StartupPath использует AppDomain.CurrentDomain.BaseDirectory
http://msdn.microsoft.com/en-us/library/system.appdomain.basedirectory.aspx
Ответ 3
Вы можете использовать класс среды для получения всех типов системной информации. Для каталогов используйте метод Environment.GetFolderPath.
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
Ответ 4
Я понимаю и соглашаюсь с тем, что ссылки на System.Windows.Forms.dll
выглядят уродливыми, но я думаю, что лучше, чем уменьшить повторное использование кода и изобретать велосипед, а не просто еще одну ссылку.
Я использую например System.Windows.Forms.Application.ProductVersion
в своих консольных приложениях, не люблю этого, но думаю, что меньшее зло..
См. также этот вопрос о SO