请问关于功能键控制

Mubai 2002-02-27 10:01:34
在C中,对功能键(如F1、F2、PageUp、PageDown......)的访问要用到扫描码的东西,我原来做过,但现在忘了。哪位大吓能指点一二。

谢谢先。
...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mubai 2002-03-05
  • 打赏
  • 举报
回复
讨论啊
Mubai 2002-03-05
  • 打赏
  • 举报
回复
人呢?
神医CL 2002-02-28
  • 打赏
  • 举报
回复
bioskey函数:
如果cmd=0,则返回一个16位的二进制数,高8位是该键的扫描码,低8位是该键的ASCII码,对于特殊键(如F1,F2等),低8位是0.
神医CL 2002-02-28
  • 打赏
  • 举报
回复
bioskey函数的返回值不是这样的,请看相应的说明。
神医CL 2002-02-28
  • 打赏
  • 举报
回复
函数名: bioskey
功 能: 直接使用BIOS服务的键盘接口
用 法: int bioskey(int cmd);
如果cmd=0,则返回按键的扫描码。如果cmd=1则用来查询是否有键按下,返回值为0则说明没有键按下,非0则有键按下。
下面程序可以获得全部ASCII码键和特殊键的扫描代码。
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
int code;
textbackground(0);
clrscr();
window(60,1,80,3);
textcolor(142);
cputs("Press Alt+X Exit!");
window(1,1,50,25);
while(code!=45)
{
code=specialkey();
printf("scan code=%d\n",code);
}
}

int specialkey();
{
int key;
while(bioskey(1)==0);
key=bioskey(0);
key=key&0xff?key&0xff:key>>8;
printf("%c key",key);
return(key);
}


Mubai 2002-02-28
  • 打赏
  • 举报
回复
忘了给你们说:我用的平台是unix。所以,bioskey就不行了,conio.h只能用于DOS。
Mubai 2002-02-27
  • 打赏
  • 举报
回复
怎么没人发言啊?

15,446

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧