首先,可以檢測任何按鍵鍵值
// 首先,檢測任何按鍵的代碼 #include<stdio.h> #include<conio.h> int main() { char ch; while((ch=getch())!=0x1B) /* ESC to quit */ { printf("%d \n", ch); } }
分別是上下左右鍵的鍵值。
其次,控制台讀取方向鍵指令
方法一
//捕捉鍵值 #include<stdio.h> #include<conio.h> int main() { int ch; while( (ch=getch())!=0x1B ) /* Press ESC to quit... */ { switch(ch) { case 0xE0: switch(ch=getch()) { case 72: printf("UP\n"); break; case 80: printf("DOWN\n"); break; case 75: printf("LEFT\n"); break; case 77: printf("RIGHT\n"); break; default: break; } break; default: break; } } }
方法二
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> int main() { char key; while(1) { // int t=1; key=getch(); switch(key) { case -32: key=getch(); switch(key) { case 72: printf("UP\n");break; case 80: printf("DOWN\n");break; case 75: printf("LEFT\n");break; case 77: printf("RIGHT\n");break; case -123: printf("F11\n");break; case -122: printf("F12\n");break; default: // printf("%x,%d,%c\n",t,t,t);break; printf("NULL");break; } break; default: // printf("%x,%d,%c\n",t,t,t);break; printf("NULL");break; } } return 0; }