请问如何在C语言中使用诸如F1,F2,F3……这些键?

cmwwy 2004-06-23 11:31:45
比如我想做一个东西,可以在按F1的情况下打开帮助文件,具体如何实现,请诸位老大们给予指点,谢谢
...全文
503 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cecil105 2004-07-03
  • 打赏
  • 举报
回复
int getkey() {
union REGS reg ;
reg.h.ah = 0 ;
return int86(0x16 ,® ,®) ;
}
qwertasdfg123 2004-06-23
  • 打赏
  • 举报
回复
http://www.programfan.com/club/showbbs.asp?id=38993
ivy8890 2004-06-23
  • 打赏
  • 举报
回复
学习
tmanje 2004-06-23
  • 打赏
  • 举报
回复
有意思.学到了一着!
cmwwy 2004-06-23
  • 打赏
  • 举报
回复
谢谢楼上各位老大
刚才我已经调试成功了,不过还有一些小问题不太理解
比如:
int key;
.
.
.
key = bioskey(0);
.
.
请问bioskey(0);返回的是不是一个无符的地址值啊
huamulan 2004-06-23
  • 打赏
  • 举报
回复
使用bioskey函数,并记录每个按键的扫描码,然后使用switch语句。
cmwwy 2004-06-23
  • 打赏
  • 举报
回复
能不能讲具体一点?
Tangyongkang 2004-06-23
  • 打赏
  • 举报
回复
之后再根据具体的按键,调用相应的模块。
Tangyongkang 2004-06-23
  • 打赏
  • 举报
回复
可以用bioskey(1)或者getch()

具体查帮助。
可用以下程序检测键值

main()
{
printf("%d \n",bioskey(1));
}

好久没用了,请各位高手指正
cecil105 2004-06-23
  • 打赏
  • 举报
回复
Vc 6有加速键的啊
sjt3749 2004-06-23
  • 打赏
  • 举报
回复
我用的是vc6.0,里面没有bios.h。怎么办?请大虾指教
Leaveye 2004-06-23
  • 打赏
  • 举报
回复
+---------------------- Help ----------------------+
¦ ¦
¦ bioskey: keyboard interface ¦
¦ ¦
¦ int bioskey(int cmd); ¦
¦ ¦
¦ Prototype in bios.h ¦
¦ ¦
¦ cmd Action ¦
¦ 0 Return key scancode from buffer and ¦
¦ delete it from the buffer. Wait for the ¦
¦ next key if the buffer is empty. ¦
¦ 1 Return key scancode from buffer, but do ¦
¦ not delete it from the buffer. Return 0 ¦
¦ if the buffer is empty. ¦
¦ 2 Return the BIOS shift state flags. ¦
+--------------------------------------------------+

0:它返回的是键盘队列首的扫描码。如果键盘队列里没有,那就等一个。得到同时,从键盘队列清除该击键。

1:也返回扫描码。与 0 不同,队列里没有它不等,直接返回 0 。而且,不对队列进行操作。

2:返回的是标记位状态。你要知道是哪个 shift 键按了,有没有按 ctrl 和 alt ,都要靠它。该返回值的每一个位都有对应的按键含义。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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