Чтение символов в фоновом приложении

1

Привет, я пытаюсь сделать простую программу, которая читает ключи с клавиатуры, даже если мое приложение работает в фоновом режиме.

ситуация
Я хочу сделать таймер, чтобы помочь мне в игре. У меня уже есть программа с таймером, проблема в том, что я не могу запустить таймер без переключения игрового окна в окно приложения. Поэтому я настроил игровую клавиатуру на выпуск ключей F11, F12. Теперь в игре эти клавиши ничего не делают.

проблема
Я построил окна, содержащие слушателя для события keydown и условного для F11. Но когда я запускаю другое окно (например, игровое окно), мое приложение больше не слышит клавиатуру, потому что это в фоновом режиме.

Вопрос
Как я могу создать приложение, которое слышит клавиатуру, даже если это не активное окно?

Теги:

1 ответ

4
Лучший ответ

Вам нужно установить глобальный крючок с низким уровнем клавиатуры, используя вызов API SetWindowHookEx. Использование крюка WH_KEYBOARD_LL позволит вашему приложению постоянно перехватывать события клавиатуры, даже если ваше приложение неактивно.

Этот пост в MSDN показывает пример того, как достичь чего-то близкого к тому, что вы хотите от С#.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню