4

WindowsCE5.0デバイスでCompactFramework3.5を使用して、ActiveSyncの接続を使用してデータを取得する必要があるアプリケーションを構築しています。

モバイルデバイスがクレードルにあり、アクティブな接続があるかどうかをどのように検出できますか?これに対する何らかのPInvokeの呼び出しはありますか?

4

2 に答える 2

3

接続を検出する側によって異なります。デスクトップ側では、フックできる ActiveSync イベントがいくつかあります。無料のオープン ソースデスクトップ コミュニケーション ライブラリでそれらを取得できます。

デバイスにはいくつかの方法があります。WinMo の場合は簡単です。Microsoft.WindowsMo​​bile.Statusクラスを介してタップすることで、状態と通知のブローカーを使用できます。

一般的な CE デバイスの場合、NOTIFICATION_EVENT_RS232_DETECTED フラグを使用してCeRunAppAtEvent (アプリを実行するだけでなく、イベントを設定できる) を P/Invoke できます。これらの API は、OpenNETCF のスマート デバイス フレームワーク、特にDeviceManagement.SerialDeviceDetected イベントにもラップされています。

于 2009-02-12T16:32:15.460 に答える
-1

これでクレードルを検出することもできます:

get
{
  return SystemState.GetValue(SystemProperty.CradlePresent).Equals(1);
}

じゃあこれでいいよ

get
        {
            return  (int)SystemState.GetValue(SystemProperty.ConnectionsDesktopCount) > 0;
        }
于 2016-01-26T13:57:28.787 に答える