Перечисление специальных папок C # не включает папку Libraries

#c# #special-folders

#c# #специальные папки

Вопрос:

Название вопроса, по-видимому, прямолинейно и не требует пояснений. Проблема в том, что перечисление специальных папок не включает папку Libraries, и мне действительно нужно получить к ней доступ и отобразить ее папки в виде списка. Есть ли какой-нибудь способ сделать это, пожалуйста?

Комментарии:

1. Можете ли вы предоставить нам свой код для ее улучшения?

2. Помогает ли эта статья ?

Ответ №1:

%APPDATA%MicrosoftWindowsLibraries Вы можете использовать SpecialFolder.ApplicationData путь к папке Libraries, который в Windows совпадает с %APPDATA% переменной окружения:

 var appData = Environment.GetFolderPath(
        Environment.SpecialFolder.ApplicationData);

var librariesFolder = Path.Combine(appData, @"MicrosoftWindowsLibraries");
  

Другой способ получить полный путь — просто развернуть переменную среды:

 var librariesFolder = Environment.ExpandEnvironmentVariables(
        @"%APPDATA%MicrosoftWindowsLibraries");
  

В любом случае, это специфично для Windows и не будет работать на других платформах, что в значительной степени является единственной веской причиной для использования Environment.SpecialFolder в первую очередь.