Выбор папки из ярлыка - Visual Basic .NET
Формулировка задачи:
Добрый день!
Возникла необходимость выбирать расшаренную папку
в сетевом расположении
. Обычно пользователь пользуется быстрым переходом к этим папкам через ярлыки на рабочем столе/в избранном/etc. Класс FolderBrowserDialog эти ярлыки соответственно не видит(выбор компьютера и ее расшаренной папки из ветки "Сеть" не предлагать - компьютеров очень много). Идеальный вариант - класс OpenFileDialog, но он работает только с файлами, а мне необходимо выбрать папку(задать переменной путь к этой папке). Может кто подскажет/поделится примером своего класса типа FolderBrowserDialog или какие-либо трюки с имеющимися классами?Решение задачи: «Выбор папки из ярлыка»
textual
Листинг программы
Imports System.IO Public Module ShortcutHelper Public Function IsShortcut(strPath As String) As Boolean If Not File.Exists(strPath) Then Return False End If Dim directory As String = Path.GetDirectoryName(strPath) Dim strFile As String = Path.GetFileName(strPath) Dim shell As Shell32.Shell = New Shell32.Shell() Dim folder As Shell32.Folder = shell.NameSpace(directory) Dim folderItem As Shell32.FolderItem = folder.ParseName(strFile) If folderItem IsNot Nothing Then Return folderItem.IsLink End If Return False End Function Public Function ResolveShortcut(strPath As String) As String If IsShortcut(strPath) Then Dim directory As String = Path.GetDirectoryName(strPath) Dim strFile As String = Path.GetFileName(strPath) Dim shell As Shell32.Shell = New Shell32.Shell() Dim folder As Shell32.Folder = shell.NameSpace(directory) Dim folderItem As Shell32.FolderItem = folder.ParseName(strFile) Dim link As Shell32.ShellLinkObject = folderItem.GetLink Return link.Path End If Return String.Empty End Function End Module
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д