| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1508 人关注过本帖
标题:[求助]键盘按键测试?
只看楼主 加入收藏
yflovehj
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-6-2
收藏
 问题点数:0 回复次数:7 
[求助]键盘按键测试?
我想知道怎么测试是按个的那个键??
我好像记得要用bioskey()这个函数样,但我现在用不来了,那位大哥帮帮一下呀??如果是我记错了的话,望请告诉一下要用那一个函数来完成??
搜索更多相关主题的帖子: 键盘 bioskey 函数 
2007-11-06 14:02
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
http://www.80diy.com/home/20020611/13/794526.html
int bioskey(int cmd)本函数用来执行各种键盘操作,由cmd确定操作。
cmd可为以下值:
0 返回敲键盘上的下一个键。若低8位为非0,即为ASCII字符;若低8位为0,
则返回扩充了的键盘代码。
1 测试键盘是否可用于读。返回0表示没有键可用;否则返回下一次敲键之值。
敲键本身一直保持由下次调用具的cmd值为0的bioskey所返回的值。
2 返回当前的键盘状态,由返回整数的每一个位表示,见下表:
┌──┬───────────┬───────────┐
│ 位 │为0时意义 │为1时意义 │
├──┼───────────┼───────────┤
│ 7 │插入状态 │改写状态 │
│ 6 │大写状态 │小写状态 │
│ 5 │数字状态,NumLock灯亮 │光标状态,NumLock灯熄 │
│ 4 │ScrollLock灯亮 │ScrollLock灯熄 │
│ 3 │Alt按下 │Alt未按下 │
│ 2 │Ctrl按下 │Ctrl未按下 │
│ 1 │左Shift按下 │左Shift未按下 │
│ 0 │右Shift按下 │右Shift未按下 │
└──┴───────────┴───────────┘

http://baike.baidu.com/view/653950.htm

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-06 14:26
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
函数原型 int bioskey(int cmd)
用途:获取键盘值
cmd=0 返回一个键盘值,如无键盘按下,一直等.
cmd=1 查询键盘是否按下.
0-无键按下,非0-有键按下
cmd=2 返回控制键状态,返回值保存在低8位中
B0 右边的shift键按下 B5 已打开Scroll Lock
B1 左边的shift键按下 B6 已打开Num Lock
B3 Ctrl键按下 B7 已打开Caps Lock
B4 Alt键按下 B8 已打开Insert
楼主可以自己写个测试一下

英者自知,雄者自胜
2007-11-06 14:40
yflovehj
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2007-6-2
收藏
得分:0 
main()
{
int key;
key = bioskey(0);
printf(key);
}


我是这样写的,怎么不给我显示按键值呢??可以帮我改一下嘛??
2007-11-06 16:36
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 

bioskey() 这个函数在哪个文件中声明的啊? #include <??????>
/* DEV-C++ 有没有这个函数啊 */

[此贴子已经被作者于2007-11-6 17:54:41编辑过]


—>〉Sun〈<—
2007-11-06 17:22
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
bios.h

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-06 17:51
mengfeiX
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-29
收藏
得分:0 
printf(key);????????????
2007-11-09 21:32
yixiaowz
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-11-3
收藏
得分:0 
#include<stdio.h>
#include<bios.h>
#include<graphics.h>
#define UP 0x4800/*这里是定义按键码,这个可以在资料中查到*/
#define DOWN 0x5000
#define RIGHT 0x4d00
#define LEFT 0x4b00
#define ESC 0x011b
init(){
int gd=DETECT,gm;
initgraph(&gd,&gm,"c\tc");
cleardevice();
}/*初始化图形驱动*/
void main(){
int key;
clrscr();
init();
setbkcolor(RED);/*置背景色为红色*/
printf("Key the ESC key to exit.\n");
while(1){
printf("Please input the way key:");
switch(bioskey(0)){
case UP: printf("You key the up key!\n");break;
case DOWN: printf("You key the down key!\n");break;
case LEFT: printf("You key the left key!\n");break;
case RIGHT: printf("You key the right key!\n");break;
case ESC:exit(0);
default: printf("You don't key the way key!\n");break;
}
}
getch();
}

2007-11-10 10:21
快速回复:[求助]键盘按键测试?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017844 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved