WM_KEYUP 用于非虚拟键 (windows.h WindowProc)
WM_KEYUP for non-Virtual Keys (windows.h WindowProc)
我看到 WindowProc 可以使用 WM_CHAR 和 wParam 来检测字符输入,我还看到 WindowProc 可以使用 WM_KEYUP 和 wParam 来检测虚拟键释放。但是,我想检测用户释放其他键(例如分号)的时刻。我还没有在 MSDN 上找到这个场景的文档。
对于没有虚拟键的键,您如何检测 WindowProc 中的键释放?
所有键都有一个虚拟键码,其中一些只是没有通过宏公开。例如,与字母相关联的键具有该字母的 ASCII 代码的 VK 值。对于分号,根据 this list,您可以使用其中一个 OEM 键,具体取决于键盘。
作为解决您的问题的更便携的方法,MapVirtualKey
(or, for the keyboard-dependent keys, MapVirtualKeyEx
) 可以从 WM_KEYUP
调用以找到它们的关联字符。
我看到 WindowProc 可以使用 WM_CHAR 和 wParam 来检测字符输入,我还看到 WindowProc 可以使用 WM_KEYUP 和 wParam 来检测虚拟键释放。但是,我想检测用户释放其他键(例如分号)的时刻。我还没有在 MSDN 上找到这个场景的文档。
对于没有虚拟键的键,您如何检测 WindowProc 中的键释放?
所有键都有一个虚拟键码,其中一些只是没有通过宏公开。例如,与字母相关联的键具有该字母的 ASCII 代码的 VK 值。对于分号,根据 this list,您可以使用其中一个 OEM 键,具体取决于键盘。
作为解决您的问题的更便携的方法,MapVirtualKey
(or, for the keyboard-dependent keys, MapVirtualKeyEx
) 可以从 WM_KEYUP
调用以找到它们的关联字符。