Захват ввода с клавиатуры без фокусировки на окне программы - PullRequest
3 голосов
/ 03 января 2011

Я делаю VoIP-клиент и хочу запускать / останавливать сообщения WM_KEYDOWN и WM_KEYUP для определенного ввода, скажем K. Когда основное окно имеет фокус, это np, но как включить его за пределами окна?Например, если окно не в фокусе, а я просто смотрю на рабочий стол или нахожусь в видеоигре.Как можно выполнить что-то подобное?Я не уверен, с чего начать.

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

Ответы [ 2 ]

2 голосов
/ 03 января 2011

Вам необходимо установить клавиатурные хуки: http://msdn.microsoft.com/en-us/library/ms644990(v=VS.85).aspx

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

0 голосов
/ 04 января 2011

Я не думаю, что вы этого хотите - если я набираю документ в Word и нажимаю K, я буду очень зол, когда ваше приложение всплывает вместо того, чтобы в моем документе появилась буква "k".

Windows позволяет назначать сочетания клавиш значку на рабочем столе, но ограничивает их функциональными клавишами или комбинациями, содержащими как Alt, так и Ctrl. Щелкните правой кнопкой мыши значок на рабочем столе, перейдите в «Свойства» и найдите поле, помеченное «Сочетание клавиш».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...