Захват ввода с клавиатуры и последствия хуков

Я пишу программу VoIP, и одной из стандартных функций является функция "нажми и говори", то есть, удерживая нажатой клавишу, ты записываешь и отправляешь аудио. Ключ будет реагировать независимо от того, играете ли вы в видеоигру или находитесь в другом окне.

Мои вопросы;

  1. все программы VoIP явно используют клавиатурные хуки для достижения этой цели? Например, Ventrilo/ TeamSpeak/ Skype/ Mumble
  2. Я слышал, что зацепки клавиатуры подвергаются системной атаке, так как каждое сообщение с клавиатуры отправляется и приложению VoIP. Есть ли способ снизить стоимость, и насколько велика производительность? Моим приоритетом номер один в моем приложении является производительность и эффективность, низкое использование компьютерных ресурсов.

заранее спасибо

2 ответа

Решение

Есть ли способ снизить стоимость, и насколько велика производительность?

Падение производительности и стоимость прямо пропорциональны объему работы, выполняемой вашим кодом обработчика.

Если вы читаете документацию, там написано, что это некоторые из причин для этого (выделение мое):

  1. Мониторинг сообщений в целях отладки
  2. Обеспечить поддержку записи и воспроизведения макросов
  3. Обеспечить поддержку для клавиши справки (F1)
  4. Имитация мыши и клавиатуры
  5. Внедрить приложение для обучения на базе компьютера (CBT)
  1. Я не знаю, что используют другие программы.

  2. Используйте его и посмотрите, есть ли проблемы с производительностью. Вы, вероятно, предварительно оптимизируете на этом этапе. Я видел, что он используется в приложениях Windows на оборудовании Pentium I без заметного влияния.

Другие вопросы по тегам