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 调用以找到它们的关联字符。