user-0 提问: ASCII码值对应的键盘输入到底是多少？

回复:
user: user-1
content: //The _getch function reads a single character from the console without echoing. //Function can not be used to read CTRL+Break. //When reading a function key or an arrow key, //_getch must be called twice; the first call returns 0 or 0xE0, //and the second call returns the actual key code. #include <conio.h> #include <windows.h> void main() {     unsigned short k;      while (1) {         Sleep(100);         k=getch();         if (27==k) break;//按Esc键退出         if (0==k||0xe0==k) k|=getch()<<8;//非字符键         cprintf("%04x pressed.\r\n",k);     } }

user: user-2
content: getch()要调用两次 #include <stdio.h> #include <conio.h>  int main() {     unsigned char	ch;      while (1)     {         if(kbhit())         {             ch = getch();             if (ch == 0x1b) 				break;             if (ch == 0xe0)             {                 ch = getch();                 if (ch == 0x4b)                     printf("left\n");                 else if (ch == 0x4d)                     printf("right\n");                 else if (ch == 0x48)                     printf("up\n");                 else if (ch == 0x50)                     printf("down\n");             }         }     }      return 0; }

user: user-3
content: 包含windows.h头文件，里面作了定义，可以直接用：   #define KF_EXTENDED       0x0100 #define KF_DLGMODE        0x0800 #define KF_MENUMODE       0x1000 #define KF_ALTDOWN        0x2000 #define KF_REPEAT         0x4000 #define KF_UP             0x8000  #ifndef NOVIRTUALKEYCODES   /*  * Virtual Keys, Standard Set  */ #define VK_LBUTTON        0x01 #define VK_RBUTTON        0x02 #define VK_CANCEL         0x03 #define VK_MBUTTON        0x04    /* NOT contiguous with L & RBUTTON */  #if(_WIN32_WINNT >= 0x0500) #define VK_XBUTTON1       0x05    /* NOT contiguous with L & RBUTTON */ #define VK_XBUTTON2       0x06    /* NOT contiguous with L & RBUTTON */ #endif /* _WIN32_WINNT >= 0x0500 */  /*  * 0x07 : unassigned  */  #define VK_BACK           0x08 #define VK_TAB            0x09  /*  * 0x0A - 0x0B : reserved  */  #define VK_CLEAR          0x0C #define VK_RETURN         0x0D  #define VK_SHIFT          0x10 #define VK_CONTROL        0x11 #define VK_MENU           0x12 #define VK_PAUSE          0x13 #define VK_CAPITAL        0x14  #define VK_KANA           0x15 #define VK_HANGEUL        0x15  /* old name - should be here for compatibility */ #define VK_HANGUL         0x15 #define VK_JUNJA          0x17 #define VK_FINAL          0x18 #define VK_HANJA          0x19 #define VK_KANJI          0x19  #define VK_ESCAPE         0x1B  #define VK_CONVERT        0x1C #define VK_NONCONVERT     0x1D #define VK_ACCEPT         0x1E #define VK_MODECHANGE     0x1F  #define VK_SPACE          0x20 #define VK_PRIOR          0x21 #define VK_NEXT           0x22 #define VK_END            0x23 #define VK_HOME           0x24 #define VK_LEFT           0x25 #define VK_UP             0x26 #define VK_RIGHT          0x27 #define VK_DOWN           0x28 #define VK_SELECT         0x29 #define VK_PRINT          0x2A #define VK_EXECUTE        0x2B #define VK_SNAPSHOT       0x2C #define VK_INSERT         0x2D #define VK_DELETE         0x2E #define VK_HELP           0x2F  /*  * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)  * 0x40 : unassigned  * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)  */  #define VK_LWIN           0x5B #define VK_RWIN           0x5C #define VK_APPS           0x5D  /*  * 0x5E : reserved  */  #define VK_SLEEP          0x5F  #define VK_NUMPAD0        0x60 #define VK_NUMPAD1        0x61 #define VK_NUMPAD2        0x62 #define VK_NUMPAD3        0x63 #define VK_NUMPAD4        0x64 #define VK_NUMPAD5        0x65 #define VK_NUMPAD6        0x66 #define VK_NUMPAD7        0x67 #define VK_NUMPAD8        0x68 #define VK_NUMPAD9        0x69 #define VK_MULTIPLY       0x6A #define VK_ADD            0x6B #define VK_SEPARATOR      0x6C #define VK_SUBTRACT       0x6D #define VK_DECIMAL        0x6E #define VK_DIVIDE         0x6F #define VK_F1             0x70 #define VK_F2             0x71 #define VK_F3             0x72 #define VK_F4             0x73 #define VK_F5             0x74 #define VK_F6             0x75 #define VK_F7             0x76 #define VK_F8             0x77 #define VK_F9             0x78 #define VK_F10            0x79 #define VK_F11            0x7A #define VK_F12            0x7B #define VK_F13            0x7C #define VK_F14            0x7D #define VK_F15            0x7E #define VK_F16            0x7F #define VK_F17            0x80 #define VK_F18            0x81 #define VK_F19            0x82 #define VK_F20            0x83 #define VK_F21            0x84 #define VK_F22            0x85 #define VK_F23            0x86 #define VK_F24            0x87  /*  * 0x88 - 0x8F : unassigned  */  #define VK_NUMLOCK        0x90 #define VK_SCROLL         0x91   只贴了部分

user: user-4
content: ch=getch();  //添加为: ch=getch();  printf("%d\n",ch); 测试你要的几个键.