連絡先情報を管理するデスクトップアプリを開発していますが、Windowsモバイルデバイスの連絡先リストと同期できるようにしたいと考えています。これを行うには、どの名前空間/ APIを理解する必要がありますか?.NET Compact Frameworkで何かをしたいのですが、Win32も実行できます。完全にスタンドアロンのアプローチ、つまりOutlookなどの別のアプリに依存しないアプローチを探しています。ありがとう
3 に答える
最新のコンパクトフレームワークで作業できる場合は、WindowsMobileクラスライブラリを使用できます。
古いバージョンのフレームワークを使用する必要がある場合、または古いハードウェアをサポートしたい場合は、Interopを使用してネイティブのActiveSyncAPIにアクセスできます。すべてのC++APIには、Interop/PInvokeまたはCOMInteropのいずれかを介してアクセスできます。例はここにあります。
ActiveSyncにはマネージAPIがありません。ActiveSync SDKフォルダに「stockpor」というサンプルがあります(デフォルトでは、C:\ Program Files \ Windows CE Tools \ wce500 \ Windows Mobile 5.0 Pocket PC SDK \ Activesync \ Activesyncストックポートフォリオサンプルにあります)。カスタムアイテムの同期を行う方法。
編集:2番目のオプションは、デバイス側にPOOMを使用し、対話可能なカスタムRAPI DLLを作成することです(レコード形式が同じままであることが保証されていないため、連絡先データベースを直接開くことはお勧めしません。 WinMoバージョン間)。独自の競合解決などを行う必要がありますが、その方法でデバイス上の連絡先情報を取得する方が簡単な場合があります。
また、 MicrosoftSyncFrameworkも検討してください。同期は、人々が認識しているよりもはるかに難しい問題であり、すべてのエッジケースに対応するソリューションを構築することは非常に難しい場合があります。IIRCには、OutlookからPocketPCへの同期の例もあります。
RAPIルートを使用する場合は、OpenNETCFに優れたRAPI C#ライブラリがあります。こちらを参照してください。