Аппаратная кнопка в Windows Mobile 6 - PullRequest
1 голос
/ 21 октября 2009

Я пытаюсь использовать аппаратную кнопку на моем Motorola MC75 для выполнения функции события кнопки, которое я создал в форме. Я пытался использовать класс WindowsCE.Forms.HardwareButton, однако не могу заставить его работать. Я не могу даже захватить любое событие KeyDown в форме. Я настроил событие, и для KeyPreview в форме установлено значение true, однако событие не запускается ни на одной аппаратной кнопке, которую я нажимаю на устройстве во время отладки.

Есть предложения?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 23 октября 2009

Существует встроенная функция для пересылки всех ключей в ваше приложение.

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

См. Этот блог MSDN для примера C ++. Вы можете получать события KeyDown и KeyUp в форме Windows, используя AllKeys. Работает на любом Windows Mobile 2003 - текущее устройство.

0 голосов
/ 21 октября 2009

Аппаратное управление кнопками обычно зависит от устройства. У Motorola / Symbal есть SDK для своих устройств, но я не смог найти ссылку на него. Как правило, на устройствах, которые вы бы использовали в PInvoke, была бы библиотека DLL для конкретного производителя, чтобы считывать и контролировать аппаратные кнопки.

...