c++ - 确保所有按键事件都发送到主窗口?

标签 c++ c winapi

有没有办法确保所有 WM_KEYDOWN 事件都能进入我的主窗口,无论谁拥有焦点?这主要适用于全局事物(例如删除)以及热键(例如 CTRL A 和 CTRL S)。问题是如果另一个控件具有焦点,所有这些都会停止工作。有没有比将它们放在主窗口的 WM_KEYDOWN 事件中更好的方法?

谢谢

最佳答案

是的,您在消息循环中执行此操作。在传统消息循环调用 TranslateAccelerator() 的确切位置。它执行相同类型的操作,捕获快捷键并将其转换为 WM_COMMAND 消息。典型的类库使用“PreProcessMessage”方法来实现此功能。

关于c++ - 确保所有按键事件都发送到主窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487655/

相关文章:

c++ - C++中的**是什么?

c++ - 将焦点转移到另一个程序 Windows API

c - C 中的隐式函数声明

c++ - 为什么我不能使用 fopen?

winapi - 来自 Win32 应用程序的 x64 图像上的 OpenProcess

c - 如何在隐藏模式下创建GUI进程?

c++ - 从 avx/sse 掩码到 avx512 掩码的 "correct"方法是什么?

c++ - VSC++2010 : -Zm135

c++ - 这是错字还是我遗漏了什么?

c - 杂货店的库存