C语言控制台界面阅读键盘操作(如何用C语言阅读键盘)

本文讲的是如何在C语言控制台界面中读取键盘,以及如何读取C语言中键盘对应的知识点。希望对你有帮助,别忘了收藏这个网站。

这篇文章的列表: 1、C语言键盘内容阅读 2.C语言如何读取键盘快捷键? 3.用C语言直接读取键盘操作的C函数。 c语言键盘内容阅读 纵观TC提供的键盘输入功能,bioskey功能是最合适的选择。

int bios key(int cmd);

使用bios中断0x16执行各种键盘操作。参数cmd决定实际操作。

bioskey的返回值由cmd决定:

0:低8位不为0,返回队列中等待的下一个键的ascii字符或键盘下一个键输入的ascii字符。低8位为0,高8位为扩展键盘代码。

1:测试是否有可读的输入键。如果是0,则不是。Ctrl_break返回0xffff(-1)。否则,返回下一个回车键。当cmd=0时,键值也会被保存,供下一个bioskey调用返回。

2:请求当前换档键状态。状态值通过以下值的AND (or)获得:

位7 0x80插入开启

6个0x40瓶盖

5 0x20数字锁定开启

4 0x10滚动锁定打开

3 0x08 ALT

2 0x04 CTRL

1 0x02 -移位

0 0x01 -移位

为了方便起见,我们先定义一些常用功能键的键值。

#定义ReturnKey 0x0d

#定义ESC 0x1b

#定义回0x08

#定义左箭头0x4b00

#定义右箭头0x4d00

#定义向上箭头0x4800

#定义向下箭头0x5000

#定义PageUp 0x4900

#定义PageDown 0x5100

#定义主页0x4700

#定义结束0x4f00

#定义F1 0x3b00

#定义F2 0x3c00

#定义F3 0x3d00

#定义F4 0x3e00

#定义F5 0x3f00

#定义F6 0x4000

#定义F7 0x4100

#定义F8 0x4200

#定义F9 0x4300

#定义F10 0x4400

int GetKey(void)

{

int tKey

while(bioskey(1)==0)

tKey = bios key(0);

if ((tKey 0xff)!=0)

tKey = tKey 0xff

返回tKey

}

以上代码基本可以完成常用程序的键盘读取操作。

但是一定要注意,在函数GetKey的定义中,我们只处理了使用bioskey函数时cmd=0,1的情况,而没有处理cmd=2的情况,也就是shift键状态,所以ctrl-home之类的GetKey是无法相应接收的。如果有必要,我们必须继续扩展getkey功能。

C语言如何读取键盘快捷键? 命令行输入对许多组合键没有响应。

所以要想读取快捷键,就得从系统层面读取。

不使用库函数

可以在Windows下使用Key hook。

在linux下可以读取输入事件。

用c语言直接读取键盘操作的c函数 getch();

等待用户输入没有回音的字符。

所谓没有回音,就是你输入一个w,但是不会显示在控制台上...但肯定是压着的。

他的返回值是按下的字符。

如果是Win32编程,需要捕捉WM_CHAR消息,然后根据wParam参数的值判断按下的字符!

希望对你有帮助~

C语言控制台界面键盘读取操作介绍及C语言如何读取键盘到此结束。我想知道你是否找到了你需要的信息?如果你想了解更多这方面的内容,记得关注这个网站。

相关文章

发表新评论