捕获键盘输入和钩子的后果

时间:2011-01-17 14:09:01

标签: c++ winapi input voip keyboard-hook

我正在编写一个VoIP程序,其中一个标准功能是按键通话,这意味着在按住您录制和发送音频的键时。无论你是在电子游戏中还是专注于另一个窗口,密钥都会做出反应。

我的问题;

  1. 所有VoIP程序都明确使用键盘钩子来实现这一目标吗?例如,ventrilo / teamspeak / skype / mumble
  2. 我听说键盘挂钩会导致系统性能下降,因为每个键盘消息也会发送到VoIP应用程序。有没有办法降低成本,性能有多大?我的应用程序中的首要任务是性能和有效,低使用计算机资源。
  3. 提前致谢

2 个答案:

答案 0 :(得分:1)

  

有没有办法降低成本,性能有多大?

性能影响和成本与处理程序代码的工作量成正比。

如果你read the documentation它说这些是这样做的一些原因(强调我的):

  1. 监视消息以进行调试
  2. 支持录制和播放宏
  3. 支持帮助键(F1)
  4. 模拟鼠标和键盘输入
  5. 实施基于计算机的培训(CBT)应用程序

答案 1 :(得分:0)

  1. 我不知道其他程序使用了什么。

  2. 使用它并查看是否存在性能问题。你可能在这一点上进行了预优化。我已经看到它在奔腾I硬件上的Windows应用程序中使用,没有明显的影响。