2010-02-09 7 views
1

J'écris une application Windows (entièrement écrite en C++) qui lit les fichiers d'une carte de stockage sur un téléphone portable fonctionnant sous Windows Mobile. La partie difficile est, je ne sais pas comment faire pour que mon application détecte l'événement qu'un utilisateur a connecté le téléphone mobile à l'USB de l'ordinateur portable. J'ai fait quelques lectures sur MSDN et j'ai écrit un petit code en utilisant RegisterDeviceNotification, qui détecte chaque fois qu'un disque USB est attaché/retiré de l'ordinateur portable. Cependant, je suis incapable de modifier cela pour le faire fonctionner pour les appareils de type téléphone. S'il vous plaît aidez-moi à travers les liens/tutroials qui explique cela (de préférence C++, car je ne sais pas .NET ou C#).Auto Détecter le périphérique Windows Mobile par programme

Merci Alok

Répondre

1

Selon this article vous pouvez utiliser RegisterDeviceNotification pour obtenir des notifications lorsqu'ActiveSync détecte un appareil a été branché/débranché. (Voir l'option 3 à la fin de l'article)

Il se peut qu'il s'agisse de configurer le bon filtre de notification.

+0

Merci pour l'aide. Je l'ai eu travailler avec RAPI et Windows Mobile Center. –

1

Les appareils Windows Mobile utilisent RNDIS, un protocole d'interface réseau en coulisses. Par conséquent, la méthode RegisterDeviceNotification fonctionne toujours, mais vous recherchez un DEV_BROADCAST_DEVICEINTERFACE, pas DEV_BROADCAST_VOLUME. (dbch_devicetype==DBT_DEVTYP_DEVICEINTERFACE)

0

Vous pouvez utiliser RAPI ou RAPI2 pour détecter lorsqu'un périphérique Windows Mobile se connecte à un PC via Active Sync ou Windows Mobile Device Center. RAPI peut également être utilisé pour lire les fichiers sur la carte de stockage et bien plus encore. RAPI est plus simple à programmer car il s'agit d'une API basée sur C. RAPI2 a plus de fonctionnalités que RAPI, mais est une API COM orientée objet. Si vos besoins sont simples et que vous ne vous souciez que d'un appareil/connexion à la fois, RAPI vous suffit. Deux fonctions RAPI sont utilisées pour détecter les connexions: CeRapiInit (blocage) et CeRapiInitEx (signale un événement lors de la connexion).

+0

Merci pour l'aide. –

Questions connexes