DOBON.NET DOBON.NETプログラミング掲示板過去ログ

【C#】デジカメの画像を直接コピーしたいです

環境/言語:[Windows7]
分類:[.NET]

はじめまして。

C#.NETでUSB接続したデジカメ画像をコピーする方法を探しています。

USB接続したデジカメの画像は
マイコンピュータ直下で、ドライブ名がなく、
「コンピュータ/EX-S12/固定記憶域 20001/DCIM/100CASIO」という階層にあります。

ExplorerBrowserControlを使用して、
画像がある場所まで辿り着くことは出来るのですが、
その画像を他のフォルダ(Dドライブ直下のフォルダ)にコピーしようとすると、
パスの形式が無効ですというエラーになります。

コピー先のフォルダも表示してExplorerBrowser同士で
ドラッグ&ドロップは出来るのですが、
どうしてもマウスを使用させずに、コピーさせたいのです。

ドライブがないパスのデータを直接コピーして使用する方法がわかる方が
いらっしゃいましたら、教えていただけると大変助かります。
■No28866に返信(山口県さんの記事)
> USB接続したデジカメの画像は
> マイコンピュータ直下で、ドライブ名がなく、
> 「コンピュータ/EX-S12/固定記憶域 20001/DCIM/100CASIO」という階層にあります。

これは仮想フォルダーとして提供されていると考えられます。
従って物理的なファイルパスが必要なメソッド、API をそのまま利用することはできません。

> その画像を他のフォルダ(Dドライブ直下のフォルダ)にコピーしようとすると、
> パスの形式が無効ですというエラーになります。

これは物理的なファイルパスを取得しようとするなど、一般的なコピーを実行されようとしているのでしょうか?
そうだとすると、実行できないと思われます。

> ドライブがないパスのデータを直接コピーして使用する方法がわかる方が
> いらっしゃいましたら、教えていただけると大変助かります。

試したわけではありませんが、Shell 関連のインターフェースを使えば実現の可能性はあるように思います。
どこまでそういったことをやったことがありますか?

具体的には、以下のスレッドで出てくるキーワード、情報に対して、実現のイメージをどの程度持てるかをお聞きしたいと思っています。
http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/e6fa2d73-c530-493f-b1d7-e20e812d0d7e/

DOBON.NET | プログラミング道 | プログラミング掲示板