2009-02-12 4 views
4

En utilisant le CompactFramework 3.5 sur un périphérique Windows CE 5.0 pour créer une application qui devrait utiliser la connexion de synchronisation active pour obtenir des données.Comment détecter une connexion ActiveSync sur un appareil mobile?

Comment puis-je détecter si le périphérique mobile est dans le berceau et a une connexion active? Y at-il une sorte d'appel PInvoke pour cela?

Répondre

3

Dépend de quel côté vous voulez détecter la connexion. Côté bureau, il existe des événements ActiveSync auxquels vous pouvez vous connecter. Le libre, open source Desktop Communication library peut vous les obtenir.

Pour l'appareil, il existe plusieurs façons. Pour WinMo, c'est facile - vous pouvez utiliser l'état et le courtier de notification en appuyant sur via le Microsoft.WindowsMobile.Status class.

Pour les périphériques CE génériques, vous pouvez appeler P/Invoke CeRunAppAtEvent (qui peut définir un événement, et pas seulement exécuter une application) avec l'indicateur NOTIFICATION_EVENT_RS232_DETECTED. Ces API sont également enveloppés dans Smart Device Framework de OpenNETCF, en particulier dans le DeviceManagement.SerialDeviceDetected event

-1

Vous pouvez également détecter le berceau avec ceci:

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

Bon d'accord ce alors

get 
     { 
      return (int)SystemState.GetValue(SystemProperty.ConnectionsDesktopCount) > 0; 
     } 
+0

Pourquoi le vote vers le bas? – DarrenD

Questions connexes