![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Файловая система фотоаппарата [D7, WinXP]
angel095 © (2008-05-04 11:11:00)Доброго времени суток!
Товарищи мастера, подскажите пожалуйста, как можно получить список файлов (с путями) на подключенном по USB фотоаппарате, для дальнейшего копирования этих фалов?
Твайн не подошел :( а путь найти не смог, помогите пожалуйста!!!
angel095 (2008-05-07 17:56:00) [1]
> запусти програмку ShellA и все увидишь
папку то отловить получилось, но как быть с файлами? что-то никак :(
Поп Гапон (2008-05-07 00:37:00) [2]
> angel095 (06.05.08 20:44) [19]
>
>
> > Можно, если открывать файлы не по имени, а по PIDL
>
>
> а можно подробнее по сабжу, статью прочитал, но не очень
> понял :(
Да куда уж подробнее. запусти програмку ShellA и все увидишь.
Кстати, там ошибка. Расширения эксплорера поддерживают только apartmentthread модель.
Так что CoInitializeEx( nil, COINIT_MULTITHREADED); заменить на CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
Жуков Олег (2008-05-06 22:08:00) [3]Еще у Canon есть SDK, которым они охотно делятся, можно в этом направлении покопать.
angel095 (2008-05-06 20:44:00) [4]
> Можно, если открывать файлы не по имени, а по PIDL
а можно подробнее по сабжу, статью прочитал, но не очень понял :(
Поп Гапон (2008-05-06 18:43:00) [5]
> angel095 (06.05.08 12:31) [14]
>
> а почему windows explorer видит файлы на кеноне? неужели
> никак нельзя (попроще) получить пути к этим файлам? :(
Можно, если открывать файлы не по имени, а по PIDL
http://www.delphimaster.ru/articles/shell.html
angel095 (2008-05-06 18:26:00) [6]а можно как-нибудь через wia?
может подскажет кто, где почитать про нее (только не msdn) :)
правда мне кажется очень коряво выйдет и медленно...
МистерТ (2008-05-06 13:36:00) [7]> angel095 (06.05.08 12:31) [14]
К примеру у меня старый Siemens M55 то же через эксплорер можно было просмотреть, для этого устанавливался специальный драйвер и надстройка. Сейчас такая же веСЧ с синезубом.
А некоторые mp3-плееры поступают еще интересней, то, что закачено через эксплорер не проигрывает и часто вообще не видит, а то, что закачано через спец.прожку - видит и играет, и даже в эксплорере видит и позволяет удалить.
Вопросы, как говорится, к производителю.
Anatoly Podgoretsky (2008-05-06 13:12:00) [8]> angel095 (06.05.2008 12:31:14) [14]
А оно Кенону нужно?
angel095 (2008-05-06 12:31:00) [9]а почему windows explorer видит файлы на кеноне? неужели никак нельзя (попроще) получить пути к этим файлам? :(
Жуков Олег (2008-05-05 17:21:00) [10]
> angel095 (04.05.08 11:22) [2]
>
>
Кеноны не подключаются как съемный диск, в отличие от большинства других фотоаппаратов, и путей для стандартных функций копирования значит нет. Чтобы закачать изображения, нужно использовать интерфейс для работы с цифровой камерой.
http://msdn.microsoft.com/en-us/library/ms630368(VS.85).aspx
Но проще купить кардридер.
mahab (2008-05-05 11:40:00) [11]
> с проприетарным интерфейсом
просьба пояснить для начинающих.
han_malign (2008-05-05 11:10:00) [12]
> Если устройство определяется в системе как флеш носитель то оно получает арес
- ключевое слово здесь если... Так вот, " еслиустройство определяется в системе как флеш носитель", то оно смонтируется как диск и и только тогда сообщение DBT_DEVICEARRIVAL нам чем то поможет... А при подключении USB устройства с проприетарным интерфейсом - DBT_DEVNODES_CHANGED, в которм кстати никакого "адреса устройства" не передается, уже ничем не поможет...(конечно, зная VID&PID устройства можно посредством SetupAPI пробежаться по новым устройствам, поднять interrupt/command/bulk-трубы, открыть DeviceIOControl - но нужно знать, что туда передавать и что оттуда получать)
mahab (2008-05-05 08:15:00) [13]
> angel095
> если бы был адрес папки (каковой просто нет)
Естественно нет. Если устройство определяется в системе как флеш носитель то оно получает арес и система отправляет всем пользовательским (а может и не только ) процессам сообщение WM_DEVICECHANGE которое имеет параметры из которых можно получить адрес устройства. Так вот все эти параметры описаны в DBT.pas !!!
angel095 (2008-05-04 22:39:00) [14]APhoto
palva
Госпада :) Вы меня за юзера держите чтоли? :)
если бы был адрес папки (каковой просто нет) неужели я бы не сообразил использовать именно это имя?! Еще раз? фотоаппараты разные, есть которые монтируются как диски, а есть очень вероятно, как сказал уважаемый han_malignIShellView.
mahab (2008-05-04 17:37:00) [15]В инете есть исходники для отлова WM_DEVICECHANGE такие как DBT.pas со всеми остальными прибомбасами так вот оттуда можно получить имя присоединенного диска и далше делай что хочешь
han_malign (2008-05-04 17:36:00) [16]Боюсь, что никакой файловой системы нет, а есть OLE-InProc сервер с реализацией IShellView который и отвечает за навигацию/просмотр по структуре данных в Windows Explorer.
В лучшем случае поддерживается IShellFolder и тогда есть шанс достучаться до структуры и конкретных данных найдя отвечающий за это модуль и выковырнув конкретную реализацию интерфейса(возможно импортирование ActiveX прокатит).
З.Ы. Давно это было - так что конкретики от меня не ждите - сами ковыряйтесь...
APhoto (2008-05-04 17:34:00) [17]А один раз запомнить имя папки видимое из проводника очень сложно?
palva (2008-05-04 17:29:00) [18]А физические диски посмотреть? Тип диска - съемный.
angel095 (2008-05-04 16:40:00) [19]
> FindFirstFile/FindNextFile/FindClose
А где искать то? ведь папки как таковой нету... проблемма именно достучаться до папки на камере
МистерТ (2008-05-04 14:13:00) [20]FindFirstFile/FindNextFile/FindClose