C 实现Window/DOS 键盘监听事件

今天是重新复习C语言实现的第一天,今天想编写C 对Windwos/Dos 键盘事件的学习。但是我在安装Visual Studio 2022 没有安装MFC 框架,今天记录下VS++追加 MFC框架。

Visual Studio 2022 追加MFC

1、打开vs++,点击创建新项目,右侧滑动框拉到最底层,找到安装多个工具和功能,如下图所示:

 2.点击蓝色的“安装多个工具和功能”,勾选下图圈中的部分:

3、 然后点击右下角的修改即可。安装完成MFC就出现了

C 语言实现Windows/Dos 键盘监听事件源码

C 语言源码

#include <conio.h>
#include <stdio.h>

int main()
{
    while (!_kbhit()) {
        printf("Hit me!! \r");
    }
    printf("\nKey struck was '%c'\n", _getch());
}

效果展示

键盘事件重点函数说明 

  • _kbhit()是判断是否有按键信息,返回值为int型(因为C语言里没有bool型),0代表未被点击,非0代表被点击了。
  • _getch()读取键盘上的直接输入,但不显示在控制台上,直到回车键被按下。

C 语言键盘事件监听优化

#include<stdio.h>
#include<conio.h>
int main()
{
    int key;
    while (1)
    {
        key = _getch();
        if (key == 27) break;
        if (key > 31 && key < 127) /*如果不是特殊键*/
        {
            printf("按了 %c 键    按 ESC退出!\n", key);
            continue;
        }
        key = _getch();
        if (key == 72) printf("按了 上 键    按 ESC退出!\n");
        if (key == 80) printf("按了 下 键    按 ESC退出!\n");
        if (key == 75) printf("按了 左 键    按 ESC退出!\n");
        if (key == 77) printf("按了 右 键    按 ESC退出!\n");
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,可以使用多个事件监听器来处理不同的事件。常见的事件监听器包括Mouse/Window/ActionListener等。 下面是一个简单的示例代码,展示如何使用多个事件监听器: ```java import java.awt.*; import java.awt.event.*; public class MultipleEventListeners extends Frame implements ActionListener, MouseListener, WindowListener { public MultipleEventListeners() { addWindowListener(this); addMouseListener(this); Button button = new Button("Click Me"); button.addActionListener(this); add(button); setSize(300, 300); setVisible(true); } public void actionPerformed(ActionEvent e) { System.out.println("Button clicked"); } public void mouseClicked(MouseEvent e) { System.out.println("Mouse clicked"); } public void windowClosing(WindowEvent e) { System.out.println("Window closing"); dispose(); System.exit(0); } // 实现其他方法(MouseListener、WindowListener接口方法)... } ``` 在上面的示例中,实现了三个监听器接口:ActionListener、MouseListener和WindowListener。在构造函数中,通过addXXXXListener()方法将这些监听器添加到Frame中。 这样,在用户与窗口交互时,就会触发相应的事件,并调用相应的监听器方法进行处理。例如,当用户点击按钮时,将会触发ActionEvent事件,并调用actionPerformed()方法;当用户点击鼠标时,将会触发MouseEvent事件,并调用mouseClicked()方法;当用户关闭窗口时,将会触发WindowEvent事件,并调用windowClosing()方法。 通过这种方式,可以同时处理多个事件,并且让程序更加灵活和易于扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值