4

C#で記述されたPocketPC 2003とのコード互換性を維持しながら、WindowsMo​​bile5(およびそれ以降)のデバイスをサポートするための最良の方法は何ですか?かなり大きなアプリをさまざまな顧客が使用しており、実際のP​​PC2003デバイスを持っている人と、残りの新しいWinMobile5以降をほぼ均等に分けています。つまり、かなり長い間、古いデバイスをサポートし続ける必要があります。まだ。ここで、少なくともカメラを備えたデバイスのアプリにカメラ制御を追加する必要があります。これにより、写真をスナップして他のデータに添付し、最終的にWebサービスに送信して処理できるようになります。

これまでの調査で、Microsoft.WindowsMo​​bile.Forms dllのCameraCaptureDialogクラスが見つかりましたが、その参照をPocketPC2003アプリケーションに追加することはできません。上司は、アプリケーションを別々のPPC2003プロジェクトとWinMobileプロジェクトに分割することにあまり熱心ではありません。そのdllを動的にロードし、CameraCaptureDialogをそのように使用する方法はありますか?他のオプションはありますか?

4

1 に答える 1

2

.NetCF PocketPC 2003アプリケーションからカメラにアクセスする唯一の方法は、C / C++DLLをP/呼び出しすることです。どこかにIntertubesの周りに浮かんでいるこのサンプルアプリがあります(私はそれを探します-詳細は思い出せませんが、CコードはDirectShowを介してカメラにアクセスすると思います)が、操作はかなり複雑で、おそらくうまくいきません」必要なことを正確に実行します。プラス面として、その方法を理解できれば、PocketPC2003とWindowsMo​​bile 5の両方で機能します(つまり、機能するPPC2003アプリはWinMo5デバイスでも実行されます)。

CameraCaptureDialogはほとんど役に立たないので、そこで多くを失うことはありません。理想的には、プログラマーとして、カメラのインターフェースをプログラムで制御できるようにしたい(つまり、解像度の設定、カメラからビデオへの切り替え、写真の撮影など)が、実際にはデバイスを開く以外のことはできません。組み込みのインターフェース。

更新: これが私が言及したサンプルアプリケーションです:

http://blogs.msdn.com/b/marcpe/archive/2006/03/03/542941.aspx

そして、私は覚えていませんでした。このサンプルは、PocketPC 2003では機能しません(Windows Mobile 5以降でのみ)。PocketPC 2003でデバイスカメラにアクセスする方法はありません。少なくとも、デバイスやメーカーに依存しないカメラへのアクセス方法はありません。一部のデバイス(HP iPaqなど)では、メーカーはデバイスにすでに存在するDLL(P / Invokeを介してアクセスできます)を介してカメラ機能を公開しています。

カメラの統合が必要な場合は、デバイスでWindows Mobile 5(またはそれ以降)が実行されている必要があります。一部のデバイスはOSの新しいバージョンにアップグレードできますが、私は間違いなくその動きに疑問を呈する必要があります。より最新のデバイス(たとえば、Droidなど)に移行することをお勧めします。

于 2010-07-13T01:51:02.590 に答える