一見単純な目標を達成するための一般的なガイダンスを受け取りたいと思っています. 私は DSLR カメラ (Canon EOS 50D) を持っており、カメラに写真を撮るように指示するアプリケーションを作成する必要があります。また、写真をコンピューターに転送し、場合によってはカメラのストレージから削除する必要があります。おまけとして、アプリケーションでカメラからライブ プレビューを取得できます。私の環境は Windows (XP Pro または Vista Enterprise) と .Net 3.5 (C#) です。
私はいくつかの調査を行い、いくつかのオプションを見つけました。私が知っているものは機能しますが、将来的にはキヤノンのカメラのみを使用するように制限します. この機能の多くを提供する SDK を Canon から見つけてダウンロードしました。私はSDKに目を通しました.SDKは広範でCで書かれていますが、開発を少しスピードアップするC#ラッパーがあります.
私が見つけた別のオプションは、Windows Portable Devices と呼ばれるものです。どうやら、これは PTP および MTP 標準を実装するデバイスと通信する API です。これは COM ベースであり、私が知る限り、.Net ラッパーはありません。ただし、これはショー ストッパーではありません。必要な機能を P/Invoke するか、Managed C++ DLL を作成してアプリケーションで使用し、カメラと対話することができます。
WPD の経験があり、アドバイスをくれる人を探しています。ドキュメントを熟読し、画像の転送と画像の削除に関する参照を見てきました。ただし、写真を撮ったり、プレビュー画像を取得したり、フォーカス/オートフォーカスを言ったりするコマンドについての言及は見たことがありません。