1

Windows Mobile を実行している携帯電話のストレージ カードからファイルを読み取る Windows アプリケーション (完全に C++ で記述) を作成しています。難しいのは、ユーザーが携帯電話をラップトップの USB に接続したというイベントをアプリケーションに検出させる方法がわからないことです。私は MSDN を読んで、RegisterDeviceNotification を使用して小さなコードを書きました。ただし、これを調整して電話タイプのデバイスで機能させることはできません。これを説明するリンク/チュートリアルを手伝ってください(.NETやC#がわからないので、できればC ++です)。

ありがとう

4

3 に答える 3

1

この記事によると、 RegisterDeviceNotification を使用して、activesync がデバイスのプラグ/アンプラグを検出したときに通知を受け取ることができます。(記事の最後にあるオプション 3 を参照してください)

正しい通知フィルタを設定するだけの問題かもしれません。

于 2010-02-09T05:18:51.547 に答える
1

Windows Mobile デバイスは、バックグラウンドでネットワーク インターフェイス プロトコルである RNDIS を使用します。したがって、このRegisterDeviceNotification方法は引き続き機能しますが、探しているのは DEV_BROADCAST_VOLUME ではなく、DEV_BROADCAST_DEVICEINTERFACE です。(つまりdbch_devicetype==DBT_DEVTYP_DEVICEINTERFACE)

于 2010-02-12T12:43:30.760 に答える
0

RAPIまたは RAPI2 を使用して、Windows Mobile デバイスが Active Sync または Windows Mobile デバイス センターを介して PC に接続したことを検出できます。RAPI は、ストレージ カード上のファイルの読み取りなどにも使用できます。

RAPI は C ベースの API であるため、プログラミングが簡単です。RAPI2 は RAPI よりも多くの機能を備えていますが、オブジェクト指向の COM API です。ニーズが単純で、一度に 1 つのデバイス/接続だけを気にする場合は、RAPI で十分です。接続の検出に使用される RAPI 関数にはCeRapiInit、(ブロッキング) とCeRapiInitEx(接続時にイベントを通知する) の 2 つがあります。

于 2010-02-14T03:42:00.803 に答える