用键盘钩子函数写的,当用户按下键盘上的某个键时,弹出一个MessageBox,指示用户按了键,但是当我按的时小键盘上的数字键时(比如 2 ),MessageBox 显示的是方向键的向下键。
请问如何知道用户按的键是小键盘的数字键?

解决方案 »

  1.   

    用函数GetKeyNameText,让系统给你翻译
      

  2.   

    根据扫描码判断,而不是简单的判断ASCII
      

  3.   


     虚拟键值也不同 大键盘  2 键        虚拟键值: 0x32 小键盘上的 2 键  ,  虚拟键值: 0x62(VK_NUMPAD2)
      

  4.   

    numlock 关的时候 ,小键盘上的 2 键  ,  虚拟键值: 0x28(VK_DOWN)看来用扫描码比较好
      

  5.   

    http://www.vckbase.com/document/viewdoc/?id=271
    看看这个,或许有帮助。
      

  6.   

    还有,要把Num_Lock键按亮才行。
      

  7.   

    虚拟键 VK_NUM0 VK_NUM1等 就是这样分出来的
      

  8.   

    程序运行的时候Num_Lock灯是亮的,不过我用的函数是GetKeyName,看来是扫描码更好了