Использование FolderBrowserDialog на съемном устройстве / съемном носителе
Я работаю над простым инструментом для копирования файлов с цифровых камер. Я написал код для копирования файлов, у меня все хорошо подключено.
Кажется, у меня проблема с FolderBrowserDialog. В Vista (я еще не проверял XP) я могу просматривать каталоги на камере. Однако FolderBrowserDialog не позволит мне выбрать каталог на камере. Кнопка ОК неактивна.
Глядя на путь к файлам на камере, это выглядит так:
Computer\[Camera Name]\Removable storage\AnotherDirectory\
Поскольку это недопустимый путь (например, C:\what), я предполагаю, что FolderBrowserDialog это не нравится.
Он работает нормально от правильного имени пути, но не с камеры...
У кого-нибудь есть предложения, чтобы обойти это?
Обновить
Для подтверждения вопроса oefe путь фактически отображается как:
Computer\[Camera Name]\Removable storage\AnotherDirectory\
Предложение ЧулиоМартинеса об использовании SHBrowseForFolder работает, и я отмечу как правильный ответ. Спасибо за вашу помощь, Чулио.
3 ответа
Я предполагаю, что местоположение не имеет представления (пути) в файловой системе, например, c:...\my camera.
Вы должны быть в состоянии получить PIDL папки (это должен быть один из флагов функции) и реализовать копию, используя интерфейсы оболочки COM.
Есть ли способ сопоставить путь камеры к букве диска? (Я думаю, что-то вроде "subst" или "net use" из командной строки.) Может, это обмануло бы FolderBrowserDialog вести себя так, как хотелось бы?
Откуда вы взяли путь? Из адресной строки в проводнике? Здесь отображается не путь к файловой системе, а его "удобное для пользователя" представление.
Чтобы получить путь, щелкните правой кнопкой мыши адресную строку и выберите "Скопировать адрес как текст" или "Изменить адрес".