Получение мыши/событий клавиатуры за пределами формы (приложение, работающее в фоне)

У меня есть приложение, которое работает в фоновом режиме (минимизированный/панель задач). Я должен смочь обнаружить действие мыши (щелчки, переместитесь), а также действие клавиатуры.

Что лучший способ состоит в том, чтобы сделать это, учитывая ограничение, что мое окно не "фокусируется"?

15
задан Andy Hin 22 July 2010 в 19:43
поделиться

1 ответ

Волшебные слова - это крючки для окон. Они создаются с помощью вызова p / invoke SetWindowsHookEx . Вы можете настроить ловушку для отслеживания, среди прочего, событий клавиатуры и мыши. Обычно такие хуки локальны для приложения, но вы также можете создавать глобальные хуки. База знаний Microsoft показывает , как это сделать.

Однако имейте в виду, что не все типы глобальных перехватчиков могут использоваться из .NET. В частности, вы можете использовать только два: низкоуровневые крючки для клавиатуры и мыши, известные как WH_KEYBOARD_LL и WH_MOUSE_LL . К счастью, это именно то, что вам нужно.

10
ответ дан 1 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: