以下是偶的总结,还有比如标点称号及windows键的虚拟码希望大家补充:功能键:ESC:VK_ESCAPE,TAB:VK_TAB,PageUp:VK_PRIOR,PageDown:VK_NEXT       Insert:VK_INSERT,Home:VK_HOME,End:VK_END       Alt:VK_ALT,Ctrl:VK_CONTROL,Shift:VK_SHIFT,Delete:VK_DELETE       上,下,左,右:VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT       F1,F2,F3...:VK_F1,VK_F2,VK_F3......字母和数字:a,b,c ....:'A','B','C',.....           1,2,3,....:'1','2','3',.....小键盘:1,2,3,........:VK_NUMPAD1,VK_NUMPAD2,VK_NUMPAD3,......       +,1:VK_ADD,VK_SUBTRACT

解决方案 »

  1.   

    一个错误:
    Alt:VK_ALT,
    该本人认为可能被系统保留,望知道的网友补充
      

  2.   

    又整理出一份:
    符号常量  十六进制值 指定的鼠标或键盘按键
    VK_LBUTTON  01  鼠标左键
    VK_RBUTTON  02  鼠标右键
    VK_CANCEL  03  Control-break 过程
    VK_MBUTTON  04  鼠标中键
    VK_BACK  08  BACKSPACE 键
    VK_TAB   09  TAB 键
    VK_CLEAR  0C  CLEAR 键
    VK_RETURN  0D  ENTER 键
    VK_SHIFT  10  SHIFT 键
    VK_CONTROL  11  CTRL 键
    VK_MENU  12  ALT 键
    VK_PAUSE  13  PAUSE 键
    VK_CAPITAL  14  CAPS LOCK 键
    VK_ESCAPE  1B  ESC 键
    VK_SPACE  20  SPACEBAR
    VK_PRIOR  21  PAGE UP 键
    VK_NEXT  22  PAGE DOWN 键
    VK_END   23  END 键
    VK_HOME  24  HOME 键
    VK_LEFT  25  LEFT ARROW 键
    VK_UP   26  UP ARROW 键
    VK_RIGHT  27  RIGHT ARROW 键
    VK_DOWN  28  DOWN ARROW 键
    VK_SELECT  29  SELECT 键
    VK_EXECUTE  2B  EXECUTE 键
    VK_SNAPSHOT  2C  PRINT SCREEN键(用于Windows 3.0及以后版本)
    VK_INSERT  2D  INS 键
    VK_DELETE  2E  DEL 键
    VK_HELP  2F  HELP 键
    /////////////////////
    对于非小键盘上的数字键和字母键,直接在单引号中加入该键就行.
    比如:a键:'A'
         1键:'1'
    /////////////////////////////////
    VK_LWIN  5B  Left Windows 键 (Microsoft自然键盘)
    VK_RWIN  5C  Right Windows 键 (Microsoft自然键盘)
    VK_APPS  5D  Applications 键 (Microsoft自然键盘)
    VK_NUMPAD0  60  数字小键盘上的 0 键
    VK_NUMPAD1  61  数字小键盘上的 1 键
    VK_NUMPAD2  62  数字小键盘上的 2 键
    VK_NUMPAD3  63  数字小键盘上的 3 键
    VK_NUMPAD4  64  数字小键盘上的 4 键
    VK_NUMPAD5  65  数字小键盘上的 5 键
    VK_NUMPAD6  66  数字小键盘上的 6 键
    VK_NUMPAD7  67  数字小键盘上的 7 键
    VK_NUMPAD8  68  数字小键盘上的 8 键
    VK_NUMPAD9  69  数字小键盘上的 9 键
    VK_MULTIPLY  6A  Multiply 键
    VK_ADD   6B  Add 键
    VK_SEPARATOR  6C  Separator 键
    VK_SUBTRACT  6D  Subtract 键
    VK_DECIMAL  6E  Decimal 键
    VK_DIVIDE  6F  Divide 键
    VK_F1  70  F1 键
    VK_F2  71  F2 键
    VK_F3  72  F3 键
    VK_F4  73  F4 键
    VK_F5  74  F5 键
    VK_F6  75  F6 键
    VK_F7  76  F7 键
    VK_F8  77  F8 键
    VK_F9  78  F9 键
    VK_F10  79  F10 键
    VK_F11  7A  F11 键
    VK_F12  7B  F12 键
    VK_F13  7C  F13 键
    VK_F14  7D  F14 键
    VK_F15  7E  F15 键
    VK_F16  7F  F16 键
    VK_F17  80H  F17 键
    VK_F18  81H  F18 键
    VK_F19  82H  F19 键
    VK_F20  83H  F20 键
    VK_F21  84H  F21 键
    VK_F22  85H  F22 键
    VK_F23  86H  F23 键
    VK_F24  87H  F24 键
    VK_NUMLOCK  90  NUM LOCK 键
    VK_SCROLL  91  SCROLL LOCK 键
    VK_ATTN  F6  Attn 键
    VK_CRSEL  F7  CrSel 键
    VK_EXSEL  F8  ExSel 键
    VK_EREOF  F9  Erase EOF 键
    VK_PLAY  FA  Play 键
    VK_ZOOM  FB  Zoom 键
    VK_OEM_CLEAR  FE  Clear 键
      

  3.   

    WINDOWS键解决了,
    ALT键其实也有了,但没能用,我估计应该是对的,被保留了.
      

  4.   

    举例说明这些键的用法:
    (一)响应单独的按键:
    先添加PreTranslateMessage()(响应WM_CHAR)也是同样的效果,因为本例只捕捉键盘)
    BOOL CMydilog::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if (pMsg->message == WM_KEYDOWN)
    {
                  if(pMsg->wParam=='M')//直接用上面的虚码代替就可以响应所指键
    MessageBox("hello");//如果按下M键弹出消息.比如想当按下小键盘1时
                                          //弹出就用VK_NUMPAD1代替'M'
             }
    return CDialog::PreTranslateMessage(pMsg);
    }(二)组合键的用法:(本例响应Ctrl+X键)
    BOOL CMydilog::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class

    if (pMsg->message == WM_KEYDOWN)
    {
    switch (pMsg->wParam)
    {
    case VK_ESCAPE:
    SetFocus ();
    return TRUE;
    case 'X':
    if(::GetKeyState(VK_CONTROL) < 0)//如果是Shift+X这里就
                                                                 //改成VK_SHIFT
    MessageBox("hello");
    return TRUE;

    }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  5.   

    楼主 如果是CTRL+ALT+DEL呢 ?