与 C++/C 相比,某些键(如shift、[、]、Del 等)的虚拟键代码在 java 中显示为不同的值。例如 :
Key Java C / C++
Shift 16 160
[ 91 219
] 93 221
\ 92 220
Del 127 46
Window 524 91
这是什么原因?这些代码是虚拟代码还是它们是不同的类型?对于包括字母、数字、功能键(F1-F12)、退格、`等的键是相同的。
我可能误解了一个概念,在这种情况下请澄清。
在 C/C++ 中检查
KBDLLHOOKSTRUCT * kbhook = (KBDLLHOOKSTRUCT *) lParam;
printf("%u\n",kbhook->vkCode);
在 Java 中检查
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {
int code = evt.getKeyCode();
// code isEqualTo KeyEvent.VK_DELETE : NOTE
}
参考:KeyEvent 类