.Net предоставляет нам элемент управления FolderBrowserDialog для поиска папок. Это, однако, модальное диалоговое окно. Мне нужно создать пользовательский элемент управления, который я могу сбросить на мою форму. Итак, я искал создание своего собственного, где мне нужно получить все локальные диски, сопоставленные сетевые диски, общие папки UNC и веб-папки (WebDAV/SharePoint). Я использую Windows 7 и .Net 4.0.Как я могу перечислять сетевые папки и веб-папки на C#?
Локальные и Сетевые диски
я могу получить локальные диски от DriveInfo.GetDrives(). Тем не менее, это только показывает мне диски, доступные/онлайн. В проводнике Windows вы также видите подключенные сетевые диски, которые отключены/недоступны.
Акции сетевых папок/UNC
Из того, что я нашел до сих пор, там не появляется, чтобы быть механизмом в .Net, чтобы перечислить акции UNC. Кажется, что я должен использовать Interop to Win32 API для использования функций WNetOpenEnum
и WNetEnumResource
для перечисления сетевого окружения. Я получил эту работу, но мне было интересно, не было ли другого пути.
Web (WebDAV) Папки и SharePoint
В проводнике Windows я настроил несколько WebDAV папок. Используя те же вызовы Interop выше WNetOpenENum
и WNetENumResource
У меня есть узел «Сеть веб-клиента» и появились папки WebDAV, которые были подключены и доступны.
Вопросы
- Как получить сетевые диски, которые настроены, но в автономном режиме?
- Есть ли другой способ перечисления общих ресурсов UNC, или я придерживаюсь использования вышеупомянутых вызовов interop?
WNetEnumResource
возвращал мне пустой узел для «Службы терминалов Microsoft». Как я могу отфильтровать это, без фильтрации на основе английского текста?- Веб-папки, возвращенные
WNetEnumResource
, не являются удобными для пользователя именами, которые я им назначил, когда я их создал, но находятся в формате IP-Address @ Port, например.\\[email protected]
. Как получить удобные для пользователя имена для веб-папок? - Веб-папки, которые были в автономном режиме, вообще не отображались, но в Windows Explorer они появляются. Любые предложения по получению тех, которые находятся в автономном режиме?
Интересно и хорошо работает для получения доступа к локально определенным акциям. Меня интересуют акции, определенные на других компьютерах в сети, как в \\ OtherComputer \ SomeShare. – Elan
Вы знакомы с WMI ..? Я пришлю вам образец того, как обращаться к другим удаленным машинам, если вам интересно. – MethodMan
Да, пожалуйста, сделайте, если это поможет мне добраться туда, куда я хочу пойти :). – Elan