虚拟代码和扫描代码之间的区别

时间:2012-10-05 04:00:28

标签: java c++ c scancodes

Virtual Key CodeScan Code之间有什么区别?我读到了扫描代码here,但我不明白什么是虚拟代码,是什么使扫描代码与虚拟代码不同?

例如在 Java

private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {                                       
   int code = evt.getKeyCode(); // WHAT DO I GET ? A Scan code or a Virtual Code..?
}

C

KBDLLHOOKSTRUCT *kbhook = (KBDLLHOOKSTRUCT *) lParam;
printf("%u\n",kbhook->vkCode); // WHAT DO I GET ? A Scan code or a Virtual Code..?

以上只是示例,我不希望在此基础上澄清这个概念。

1 个答案:

答案 0 :(得分:1)

扫描代码表示特定密钥的硬件相关代码,但虚拟代码表示相同密钥的硬件独立和OS相关代码。 所以作为程序员,我们应该始终使用虚拟代码......

现在让我们来看看Java和C ++。 VK_关键字是微软定义的,Java使用自己的VK_关键字......因此它们可能引用相同的字符代码,但它们的值不同。