【EasyX】快速入门——消息处理,音频

1.消息处理

我们先看看什么是消息

1.1.获取消息

想要获取消息,就必须学会getmessage函数

1.1.1.getmessage函数

有两个重载版本,它们的作用是一样的 

 

参数filter可以筛选我们需要的消息类型

 我们看看参数filter的取值

当然我们可以使用位运算组合这些值 

例如,我们只需获取鼠标消息的时候,有下面两个做法

如果我们键盘和鼠标消息都想要,那就

1.2.消息结构体

接下来我们好好讨论这个消息结构体

struct ExMessage
{USHORT message;					// 消息标识union{// 鼠标消息的数据struct{bool ctrl		:1;		// Ctrl 键是否按下bool shift		:1;		// Shift 键是否按下bool lbutton	:1;		// 鼠标左键是否按下bool mbutton	:1;		// 鼠标中键是否按下bool rbutton	:1;		// 鼠标右键short x;				// 鼠标的 x 坐标short y;				// 鼠标的 y 坐标short wheel;			// 鼠标滚轮滚动值,为 120 的倍数};// 按键消息的数据struct{BYTE vkcode;			// 按键的虚拟键码BYTE scancode;			// 按键的扫描码(依赖于 OEM)bool extended	:1;		// 按键是否是扩展键bool prevdown	:1;		// 按键的前一个状态是否按下};// 字符消息的数据TCHAR ch;// 窗口消息的数据struct{WPARAM wParam;LPARAM lParam;};};
};

我们先看第一个成员——message 

	ExMessage msg;msg = getmessage(EX_MOUSE);//筛选了鼠标消息

如果我们筛选的是鼠标消息 

 那么我们获得的ExMessage结构体中,结构体message成员就可能是下面这张表的值

我们再看结构体

如果是鼠标消息类型,那么只有鼠标消息结构体有效,其他成员结构体是无效的

如果筛选了键盘消息

	ExMessage msg;msg = getmessage(EX_KEY);//筛选了键盘消息

那么获得的ExMessage结构体中的message成员就可能是下面这张表的值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为CE6851-48S6Q-HI升级设备版本及补丁

文章目录 升级前准备工作笔记本和交换机设备配置互联地址启用FTP设备访问FTP设备升级系统版本及补丁 升级前准备工作 使用MobaXterm远程工具连接设备,并作为FTP服务器准备升级所需的版本文件及补丁文件 笔记本和交换机设备配置互联地址 在交换机接口配置IP&#…

Facebook隐私保护:数据安全的前沿挑战

在数字化时代,随着社交媒体的普及和应用,个人数据的隐私保护问题日益受到关注。作为全球最大的社交平台之一,Facebook承载了数十亿用户的社交活动和信息交流,但与此同时,也面临着来自内外部的数据安全挑战。本文将深入…

AWS Elastic Beanstalk 监控可观测最佳实践

一、概述 Amazon Web Services (AWS) 包含一百多种服务,每项服务都针对一个功能领域。服务的多样性可让您灵活地管理 AWS 基础设施,然而,判断应使用哪些服务以及如何进行预配置可能会非常困难。借助 Elastic Beanstalk,可以在 AW…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):快启

前言: 汽车仪表是人们了解汽车状况的窗口,而仪表中的大部分信息都是以指示灯形式显示给驾驶者。仪表指示灯图案都较为抽象,对驾驶不熟悉的人在理解仪表指示灯含义方面存在不同程度的困难,尤其对于驾驶新手,如果对指示灯的含义不求甚解,有可能影响驾驶的安全性。即使是对…

Pytest框架实战二

在Pytest框架实战一中详细地介绍了Pytest测试框架在参数化以及Fixture函数在API测试领域的实战案例以及具体的应用。本文章接着上个文章的内容继续阐述Pytest测试框架优秀的特性以及在自动化测试领域的实战。 conftest.py 在上一篇文章中阐述到Fixture函数的特性,第…

shell循环

一、for循环 用法: for 变量 in 取值列表 do 命令序列 done 例1:打印1到10的数字列表 #!/bin/bashfor i in {1..10} do echo $i done 例2:#批量添加用户,用户名存放在users.txt文件中,每行一个,初始密码均设为123456 #!/bin/bas…

KMP算法【C++】

KMP算法测试 KMP 算法详解 根据解释写出对应的C代码进行测试&#xff0c;也可以再整理成一个函数 #include <iostream> #include <vector>class KMP { private:std::string m_pat;//被匹配的字符串std::vector<std::vector<int>> m_dp;//状态二维数组…

哪些类型的产品适合用3D形式展示?

随着3D技术的蓬勃发展&#xff0c;众多品牌和企业纷纷投身3D数字化浪潮&#xff0c;将产品打造成逼真的3D模型进行展示&#xff0c;消费者可以更加直观地了解产品的特点和优势&#xff0c;从而做出更明智的购买决策。 哪些产品适合3D交互展示&#xff1f; 产品3D交互展示具有直…

自己手写一个字符串【C风格】

//字符串的常见操作 #include <iostream>#define MAX_SIZE 15 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 typedef int Status;//状态类型 typedef char ElemType;//元素类型typedef ElemType String[MAX_SIZE 1];//第一个字节记录长度//***tring是数…

c#自动生成缺陷图像-添加新功能(可从xml直接提取目标数据,然后进行数据离线增强)--20240524

在进行深度学习时,数据集十分重要,尤其是负样本数据。 故设计该软件进行深度学习数据预处理,最大可能性获取较多的模拟工业现场负样本数据集。 该软件基于VS2015、.NETFrameWork4.7.2、OpenCvSharp1.0.0.0、netstandard2.0.0.0、SunnyUI3.2.9.0、SunnyUI.Common3.2.9.0及Ope…

C盘磁盘空间不够用,怎样将d盘的空间划分给c盘?

C盘磁盘空间不够用&#xff0c;怎样将d盘的空间划分给c盘&#xff1f; 背景&#xff1a;win10系统下。C盘原有50G&#xff0c;如今只剩下8G&#xff0c;已经捉襟见肘了&#xff0c;想从D盘&#xff0c;割100G给C盘&#xff0c;以后软件能直接装C盘了。操作步骤如下&#xff1a…

2024年人文艺术与创新教育国际学术会议(ICHAIE 2024)

2024年人文艺术与创新教育国际学术会议&#xff08;ICHAIE 2024) 2024 International Conference on Humanities, Arts and Innovation Education 一、【会议简介】 随着全球化的推进和科技的迅猛发展&#xff0c;人文艺术与创新教育在培养未来人才方面扮演着越来越重要的角色…

springboot事务结合分布式锁超卖问题

背景 商品销售扣减库存是常见的场景&#xff0c;考虑性能的可以使用redis存储库存进行扣减&#xff0c;并发小的也可以采用数据量库存占用记录实时计算方式&#xff0c;最近开发的功能由于并发量不大&#xff0c;考虑到实现简洁的因素&#xff0c;决定采用库存占用记录实时计算…

后端之路第二站(正片)——SprintBoot之:设置请求接口

这一篇讲怎么简单结合模拟云接口&#xff0c;尝试简单的后端接接口、接受并传数据 一、下载Apifox接口文档软件 目前的企业都是采用前后端分离开发的&#xff0c;在开发阶段前后端需要统一发送请求的接口&#xff0c;前端也需要在等待后端把数据存到数据库之前&#xff0c;自己…

初始MyBatis ,详细步骤运行第一个MyBatis程序,同时对应步骤MyBatis底层剖析

1. 初始MyBatis &#xff0c;详细步骤运行第一个MyBatis程序&#xff0c;同时对应步骤MyBatis底层剖析 文章目录 1. 初始MyBatis &#xff0c;详细步骤运行第一个MyBatis程序&#xff0c;同时对应步骤MyBatis底层剖析每博一文案2. 前沿知识2.1 框架&#xff08;framework&#…

剪画小程序:3个方法:告诉你如何将普通的照片转换成动漫二次元风格!

Hello&#xff01;亲爱的小伙伴们&#xff01; 你是否还在纠结于自己的自拍太普通&#xff0c;每次分享到社交账号上都觉得平平无奇&#xff0c;引不起波澜&#xff1f; 假如&#xff0c;你和朋友们一起出去玩&#xff0c;大家都开心地拍着自拍。你看着自己的照片&#xff0c…

蓝桥杯-数三角(ac代码时间复杂度分析)

问题描述 小明在二维坐标系中放置了 ( n ) 个点&#xff0c;他想在其中选出一个包含三个点的子集&#xff0c;这三个点能组成三角形。然而这样的方案太多了&#xff0c;他决定只选择那些可以组成等腰三角形的方案。请帮他计算出一共有多少种选法可以组成等腰三角形&#xff1f…

WXML模板语法-事件绑定

一、 1.事件 事件是渲染层到逻辑层的通讯方式&#xff0c;通过事件可以将用户在渲染层产生的行为&#xff0c;反馈到逻辑层进行业务的处理 2.小程序中常用的事件 3.事件对象的属性列表 当事件回调触发的时候&#xff0c;会收到一个事件对象event&#xff0c;其属性为&#x…

在uni-app 插件市场下载 SKU 插件之后,引入项目报错问题

引入&#xff1a; git 提交报错&#xff1a; 原因&#xff1a;项目使用了 eslint 语法检查 解决&#xff1a;禁用 eslint 语法规则 在<script> 标签下面添加 /* eslint-disable */ 重新提交即可

【网络技术】【Kali Linux】Wireshark嗅探(十四)QUIC(快速UDP互联网连接)协议报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客&#xff1a; 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…