在网上找了半天也没有一个较为容易理解的说法来判断组合键,经过5天的折腾,终于让我折腾出来了~~哈哈
系统:xp sp3;
编译环境:VC++6.0;
使用键盘:罗技标准键盘;
原理:组合键多由两个字符组成,比如:F1,它是由空字符和分号,ASCII码由0和59两部分组成,那么可以先进行判断
这里的判断最好用的是getch函数,它可以直接读取ASCII码,下面这个例子就是说明判断按下的是F1,如果是其他键将跳出;
#include <stdio.h>
#include <conio.h>
main ()
{
char c;
while(1)
{
c=getch();
if (c==NULL)
{
c=getch();
if (c==59)
{
printf("you input is F1/n");
continue;
}
else
{
printf("you input is other resultant key/n");
break;
}
}
printf("you input is not F1/n");
break;
}
return 0;
}
以上程序经过验证,可以有效的判断!
值得说明的是:
具体组合键的键值是由哪几个字符组成,最好自己实际写个小程序看看,我从网上看了一些组合键的ASCII不是
完全正确的,所以还是实践出真理呀~~~~