2016-03-09 2 views
0

Я создаю приложение Windows, которое просматривает изображения на камеру (съемное устройство), не копируя их на диск.Как сообщить компилятору, что путь является абсолютным, когда путь не содержит буквы диска

Проблема с большинством камер, подключенных через USB, заключается в том, что их путь относительно MyComputer, который является виртуальным путем и, следовательно, не содержит буквы диска (см. C: \).

Использование «Computer \ [Camera Name] \ Removable storage \ AnotherDirectory \" в качестве пути заставляет компилятор думать, что я использую относительный путь: ... \ Project \ bin \ Release \ Computer \ [Camera Name ] \ Removable storage \ AnotherDirectory \

Я нашел предыдущий вопрос на Using FolderBrowserDialog on a Removable Device/Removable storage, но я не привык к интерфейсам оболочки COM и задавался вопросом, есть ли способ просто сообщить компилятору, что данный путь является абсолютным?

Update

Отвечая Richards вопрос о том, как снимки читать,

первый я собираю пути всех JPG в последовательности. я отобразить эту последовательность с помощью функции ниже:

let loadPic path= 
    let bitmap = new BitmapImage() 
    if System.IO.File.Exists path then 
     bitmap.BeginInit() 
     bitmap.UriSource <- Uri(path) 
     bitmap.CacheOption <- BitmapCacheOption.OnLoad 
     bitmap.EndInit() 
    bitmap 

Итоговой в последовательности растровых изображений, которые затем могут быть просмотрены.

+0

Существует, на уровне API, как «путь относительно MyComputer», за исключением пространства имен оболочки (которое строится поверх и расширяет пространство имен файловых систем). Вы бы лучше описали, как вы программно читаете данные изображения с камеры ... – Richard

ответ

1

Они не перечислены как диски. Это что-то другое.

Попробуйте это:

https://cgeers.wordpress.com/2011/08/13/wpd-transferring-content/

Это один есть примеры кода о том, как получить доступ к MTP устройства:

https://bitbucket.org/derekwilson/podcastutilities/src/b18a9926c1dcbfb884b34b9865ebaec96abfdb82/PodcastUtilities.PortableDevices/?at=default

Надеется, что это помогает!

+0

Вот что я искал, спасибо. – Funk

Смежные вопросы