.Net предоставляет нам элемент управления FolderBrowserDialog для поиска папок.Это, однако, модальное диалоговое окно.Мне нужно создать пользовательский элемент управления, который я могу добавить в форму.Итак, я пытался создать свой собственный, где мне нужно получить все локальные диски, подключенные сетевые диски, общие папки UNC и веб-папки (WebDAV / SharePoint).Я использую Windows 7 и .Net 4.0.
Локальные и подключенные сетевые диски
Я могу получить локальные диски из DriveInfo.GetDrives ().Тем не менее, они только показывают мне диски, которые доступны / онлайн.В проводнике Windows также отображаются подключенные сетевые диски, которые отключены / недоступны.
Сетевые папки / общие папки UNC
Из того, что я нашел до сих пор, похоже, что нетмеханизм в .Net для перечисления долей UNC.Кажется, что я должен использовать Interop to Win32 API, чтобы использовать функции WNetOpenEnum
и WNetEnumResource
для перечисления сетевого окружения.Я получил это работает, но мне было интересно, если не было другого пути.
Web (WebDAV) Папки и SharePoint
В проводнике Windows я настроил несколько папок WebDAV.Используя те же вызовы Interop, что и выше WNetOpenENum
и WNetENumResource
, я получил узел "Сеть веб-клиента" и появились папки WebDAV, которые были подключены и доступны.
Вопросы
- Как получить подключенные сетевые диски, которые настроены, но находятся в автономном режиме?
- Есть ли другой способ перечисления общих ресурсов UNC или я застрял с использованием вышеупомянутых вызовов взаимодействия?
WNetEnumResource
возвращал мне пустой узел для «Microsoft Terminal Services».Как я могу отфильтровать это без фильтрации на основе текста на английском языке? - Веб-папки, возвращаемые
WNetEnumResource
, не являются именами, удобными для пользователя, которые я им назначил при создании, но имеют форматIP-адрес @ порт, например \\nnn.nnn.nnn.nnn@18123
.Как получить понятные имена для веб-папок? - Веб-папки, которые были отключены, вообще не появлялись, но в Windows Explorer они появляются.Любые предложения о том, чтобы получить те, которые в автономном режиме?