2009-09-17 5 views
2

J'utilise C# .NET 3.5 Compact Framework pour écrire le code .. s'il vous plaît quelqu'un peut-il me dire comment puis-je enregistrer un formulaire pour WM_DEVICECHANGE et comment gérer ce message en WindowProc. Si je fais cela, je reçois des informations sur le changement du matériel de l'appareil. Je ne sais pas comment écrire s'il vous plaît dire.Comment enregistrer le formulaire pour WM_DEVICECHANGE message dans Windows Mobile

Merci

Répondre

0

La clé est de créer une classe dérivant de NativeWindow, donnent à ce la poignée de votre formulaire pour appeler AssignHandle avec, et remplacer la fonction WndProc (vous permettant de faire ce que vous voulez avec WM_DEVICECHANGE).

Voir l'exemple sur cette page MSDN pour plus de détails: Overriding the NativeWindow.WndProc Method

[EDIT] pas complètement sûr si la classe NativeWindow est disponible dans le CompactFramework encore. Sinon, Alex Yakhnin a la classe et un exemple d'application de comment attraper les messages disponibles here. J'espère que cela aidera.

0

Il est peu probable que WM_DEVICECHANGE soit ce que vous voulez. Vous souhaitez probablement vous connecter à la file d'attente de notification de périphérique de Windows CE en appelant le RequestDeviceNotifications et en lui transmettant un descripteur à une file d'attente créée avec CreateMsgQueue.

Si vous n'avez pas envie d'écrire tout ce code P/Invoke, comme d'habitude le Smart Device Framework l'a déjà fait et dans un modèle objet plus logique.

Questions connexes