c语言编程 按f7键怎么实现程序响应,要实例。 10

 我来答
xoaxa
2017-03-12 · TA获得超过8607个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3405万
展开全部

#include <stdio.h>
#include <conio.h>

int main() {
int ch;
while(1) { // <Ctrl> + <BREAK>退出程序
ch = _getch();
if(ch == 0) {
ch = _getch();
printf("F%d\n",ch - 58);
}
else if(ch == 0XE0) {
ch = _getch();
switch(ch) {
case 71 : printf("HOME\n"); break;
case 72 : printf("↑\n"); break;
case 73 : printf("PgUp\n"); break;
case 75 : printf("←\n"); break;
case 77 : printf("→\n"); break;
case 79 : printf("END\n"); break;
case 80 : printf("↓\n"); break;
case 81 : printf("PgDn\n"); break;
case 82 : printf("INSERT\n"); break;
case 83 : printf("DELETE\n"); break;
default : break;
}
}
else if(ch == 0X1B) printf("ESC\n"); 
else if(ch >= 1 && ch <= 26) {
switch(ch) {
case 8  : printf("<Ctrl> + 'h' or <BACKSPACE>\n"); break;
case 9  : printf("<Ctrl> + 'i' or <TAB>\n"); break;
case 13 : printf("<Ctrl> + 'm' or <ENTER>\n"); break;
default : printf("<Ctrl> + '%c'\n",ch - 1 + 'a'); break;
}
}
else printf("%3d : \'%c\'\n",ch,ch);
}
return 0;
}
追问
ch == 0 , ch == 0XE0 什么意思?
f1~f9没有对应ASII码,ch - 58怎么得来的?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式