2009-10-21 7 views
1

J'essaie d'utiliser un bouton matériel sur mon Motorola MC75 pour effectuer la fonction d'un événement de bouton que j'ai créé sur le formulaire. J'ai essayé d'utiliser la classe WindowsCE.Forms.HardwareButton, cependant, je n'arrive pas à le faire fonctionner. Je ne peux même pas capturer un événement KeyDown sur le formulaire. J'ai mis en place l'événement et le KeyPreview est défini sur true sur le formulaire, cependant, l'événement n'est jamais déclenché sur un bouton matériel que j'appuie sur le périphérique lors du débogage.HardwareButton dans Windows Mobile 6

Des suggestions?

Merci d'avance.

Répondre

0

Le contrôle du bouton matériel est généralement spécifique au périphérique. Motorola/Symbal ont un SDK pour leurs appareils, mais je n'ai pas réussi à trouver un lien vers celui-ci. Normalement, il y aura une DLL spécifique au fabricant sur les périphériques que vous utiliseriez pour lire et contrôler les boutons matériels.

1

Il existe une fonction native pour transférer toutes les clés à votre application.

[DllImport("coredll.dll", SetLastError = true)] 
static extern bool AllKeys(bool bAllKeys); 

See this MSDN blog pour un exemple C++. Vous pouvez recevoir des événements KeyDown et KeyUp sur un formulaire Windows à l'aide de AllKeys. Il fonctionne sur n'importe quel appareil Windows Mobile 2003 - actuel.

+0

Hmm, qui a presque toutes les clés à capturer sur l'événement KeyDown, cependant, il n'a toujours pas obtenu les 2 clés que je voulais. Ce sont des boutons jaunes sur le côté de l'appareil. Une idée? –

+0

Le programme du coin du scanner est-il en cours d'exécution? Essayez de fermer le programme du coin du scanner, puis vérifiez si vous obtenez l'événement KeyDown pour les boutons du scanner jaune. Une autre option consiste à utiliser SetWindowsHookEx (non documenté). Il y a beaucoup d'exemples sur Google. J'ai vu SetWindowsHookEx échouer sur certains appareils si un autre programme exécute déjà un hook. Dans la plupart des cas, le programme du coin du scanner est le programme avec l'autre crochet ouvert. –

Questions connexes