MiniGUI消息发送与处理

深度探索:机器学习中的最大似然估计(MLE)原理及其应用 最大似然估计作为统计推断的核心方法,在机器学习领域具有广泛的应用价值和深远影响。尽管存在对模型假设敏感、易受异常值影响等局限性,但其直观的原理、坚实的理论基础以及高效的实现方式使其在实践中仍占据主导地位。随着深度学习、强化学习等新兴领域的快速发展,最大似然估计将继续演化并适应新的模型结构与优化框架。同时,结合现代优化算法、并行计算技术以及贝叶斯方法的融合,最大似然估计有望在保持其核心优势的同时,进一步提升参数估计的准确性和鲁棒性,为未来的机器学习研究与应用开辟更广阔的道路。 阅读详情

1.将消息投递到一个先进先出队列中
2.直接把消息发给窗口过程

投递到队列中的消息主要有:
键盘和鼠标消息
MSG_LBUTTONDOWN,MSG_MOUSEMOVE,MSG_KEYDOWN,MSG_CHAR
定时器消息
MSG_TIMER
绘制消息
MSG_PAINT
退出消息
MSG_QUIT
可以用HavePendingMessage函数检查消息队列中是否有消息而不取出的消息

BOOL GUIAPI HavePendingMessage(HWND hMainWnd);

直接发送到窗口过程的消息一般用于通知窗口完成一些需要立即处理的事件,如MSG_ERASEBKGND消息

消息的处理
一般通过一个消息循环来处理消息队列中的消息
GetMessage从消息队列中取出消息
TranslateMessage翻译消息
DispatchMessage发送消息

MSG msg;
HWND hMainWnd;
MAINWINCREATE CreateInfo;
InitCreateInfo(&CreateInfo);
hMainWnd=CreateMainWindow(&CreateInfo);
if(hMainWnd==HWND_INVALID)
    return -1;
while(GetMessage(&msg,hMainWnd))
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}


在Thread中当要求等待消息立即返回以处理其他事务时可以使用HavePendingMessage

do
{
    ReadMasterPty(pConInfo);
    if(pConInfo->terminate)
    break;
    while(HavePendingMessage(hMainWnd))
    {
        if(!GetMessage(&msg,hMainWnd))
        break;
        DispatchMessage(&msg);
    }
}while(true);

窗口过程是一个特定类型的函数,用于接收和处理所有发送到该窗口的消息
每个控件类也有一个窗口过程,属于同一控件类的所有控件共用同一个窗口过程处理消息
如果窗口过程不处理某些消息一般把该消息传给系统进行默认处理
int DefaultMainWinProc(HWND hwnd,int message,WPARAM wParam,LPARAM lParam);
对话框缺省消息处理函数
int DefaultDialogProc(HWND hwnd,int message,WPARAM wParam,LPARAM lParam);
控件窗口缺省消息处理函数
int DefaultControlProc(HWND hwnd,int message,WPARAM wParam,LPARAM lParam);
投递:把一条消息复制到消息队列中
发送: 直接把消息发送到窗口过程函数
消息处理函数:
PostMessage:将消息放到消息队列后立即返回,用于发送非关键性消息,受消息缓冲区限制
SendMessage:将消息发送到窗口过程,等待处理完后返回
SendNotifyMessage:同PostMessage,采用链表处理,不受缓冲区限制,一般用于从控件向父窗口发送“通知消息”
PostQuitMessage:将MSG_QUIT消息投递到消息队列中
将指定消息广播给桌面的所有主窗口:
int GUIAPI BroadcastMessage(int iMsg,WPARAM wParam,LPARAM lParam);
丢弃消息队列中所有消息并返回个数
int GUIAPI ThrowAwayMessages(HWND pMainWnd);
等待一有消息就返回
BOOL GUIAPI WaitMessage(PMSG pMsg,HWND hMainWnd);

SAP SD核心流程解析:从销售订单到财务结算的实战指南 本文深入解析SAP SD模块从销售订单到财务结算的核心流程,重点剖析了销售订单中的行项目类别如何作为流程的“总开关”,决定了后续交货、开票及财务集成的走向。文章结合实战案例,详细拆解了正常销售、退货、第三方销售、寄售等典型流程的配置要点与国内化适配方案,并阐述了SD与财务模块集成的关键连接点,为顾问和用户提供了一份全面的实战指南。 阅读详情

相关推荐

【电驱动】永磁同步电机工作原理及分类

永磁同步电机工作原理及分类

星Yeah 的博客 7321

一个小案例搞懂前、后端是如何进行数据交互的

对应不少初学前端知识的小伙伴来说,如果实现前后端的数据交互,脑袋里很模糊,现在给大家介绍一个简单的案例帮助大家理解。https://www.imooc.com/article/10371 首先,我们来制作一个登录框,用来输入帐号和密码 <div class="login"> <p class="loginTittle">登录</p> <span class="loginspan"> 帐号

h471507602的博客 1316

Lane、PHY和Preset Value Bit

每个Lane支持不同的传输速度和带宽,例如PCIe 3.0中,一个Lane的传输速度可以达到8 GT/s(Giga Transfers per second),也就是1 GB/s(GigaBytes per second)。Preset Value Bit(预置值位)是在PCIe 3.0的Lane上新引入的一种机制,用于优化信号传输质量。PCIe设备可以包含多个Lane,例如x1、x4、x8、x16等,表示该设备同时使用的Lane数目,比如x16表示该设备采用了16个Lane,具有更高的传输速度和带宽。

weixin_58083606的博客 1295

MiniGUI事件传递机制分析

这段时间学习了一下MiniGUI中的事件传递机制,包括从内核驱动上报事件到MiniGUI分发事件这一整条通路,在嵌入式平台上,获取触摸事件可以使用tslib框架,通过tslib获取到事件之后,会把消息保存在桌面消息队列中,然后进一步分发到应用消息队列,我会在这篇文章中详细说明

逐梦的博客 2095

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658

自注意力机制(SelfAttention Mechanism)原理与代码实战案例讲解

自注意力机制(Self-Attention Mechanism)原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍

AI天才研究院 1289

minigui学习笔记一

三.窗口和消息 1.窗口系统(基于事件驱动和树层次) (桌面窗口/根窗口) ---------- 占满整个桌面,没有父窗口 桌面 疑问:桌面窗口是编程需要用户编,还是就是HWND_DESKTOP 框架窗口 框架窗口 ---------- 分为客户区和非客户区 子窗口 子窗口 2.窗口和屏幕绘制区的关系 3.消息队列 每创建一个窗口其托管窗口为桌面的话,就会创建一个消息队列 但文档上说:1.创建的第一个主窗口的托管窗口必须是桌面,其...

qq_43601873的博客 1341

这才是 Python 的正确玩法!用强化学习 (RL) 训练 AI 玩《王者荣耀》,胜率 90%!

大家打排位时,一定遇到过那种“意识神级、操作零失误”的对手,或者“走位呆滞、送人头”的队友。以前的“人机”是程序员写死的脚本(If 血量<20% Then 回城)。而现在的顶级 AI(如腾讯绝悟、OpenAI Five),是靠强化学习 (Reinforcement Learning)自己“左右互搏”练出来的。今天,我们不谈枯燥的数学公式,我将手把手教你用,搭建一个能玩 MOBA 游戏的 AI Agent。即使不能去 KPL 打职业,虐一下钻石局还是绰绰有余的!

BUG猿的博客 1182

minigui[基础篇][8]—— 键盘和鼠标之键盘

minigui手册阅读

qq_43601873的博客 594

OpenCV-Python实战(10)——详解 OpenCV 轮廓检测

在计算机视觉领域,轮廓通常指图像中对象边界的一系列点。因此,轮廓通常描述了对象边界的关键信息,包含了有关对象形状的主要信息,该信息可用于形状分析与对象检测和识别。在本文中,将首次通过简单示例了解轮廓的基本概念,然后通过实际示例来了解如何检测和压缩轮廓,最后利用介绍如何利用图像矩描述检测到的轮廓属性。

盼小辉丶的博客 3万+

【WorkBuddy专栏61】字节的AI打法为什么一直在变——WorkBuddy/CodeBuddy vs 字节Trae/TRAE Work/豆包全维度对比

【WorkBuddy专栏61】字节的AI打法为什么一直在变——WorkBuddy/CodeBuddy vs 字节Trae/TRAE Work/豆包全维度对比

AI人人懂 2727

KUKA 消息函数

ACCESS R;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ENDFOLDEND;;;;ENDIF;Msg.Nr=1len=80ENDIFENDFORELSEENDIFlen=24ENDIFENDFORELSEENDIF。

weixin_48256799的博客 1731

【视频监控国标GB/T28181】无人机的视频图传技术

然而,随着无人机市场的不断发展和无人机视频图传技术的迅速进步,一些厂家正积极探索更多的传输方式。如今,一些大疆无人机已经具备了4G辅助图传功能,这意味着它们需要在无人机上安装相应的SIM卡,并在有移动互联网信号的情况下,通过互联网进行视频图传。这种技术的应用,不仅提高了无人机的操作灵活性,也使得无人机在各个领域的应用更加广泛。在使用时,用户需时刻注意无人机的飞行距离。在无人机图传系统中,OFDM技术的运用更是如虎添翼,显著增强了视频传输的品质与稳定性,尤其在错综复杂的电磁环境中,更能凸显其不可替代的优势。

开源物联网项目商业化作者 5659

miniGUI源码分析:消息机制

miniGUI通过接收消息来和外界交互。消息由系统或应用程序产生,系统对输 入事件产生消息,系统对应用程序的响应也会产生消息,应用程序可以通过产生消息来完成 某个任务,或者与其它应用程序的窗口进行通讯。总而言之,miniGUI 是消息驱动的系统, 一切运作都围绕着消息进行。 MSG 消息结构 MSG 消息结构的成员包括该消息所属的窗口(hwnd)、消息标识(message)、消息的 WPARAM 型参数(wParam)、消息的 LPARAM 型参数(lParam)以及消息发生的时间。 typedef st

secretii的博客 876

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MiniGui--消息

MiniGui有两种向窗口发送消息的方法:      1、把消息投递到消息队列。2、把消息直接发送给窗口,也就是通过消息发送函数直接调用窗口过程函数。

_CJM的博客 923

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

MiniGUI输入法的设计

 输入法提供了将标准键盘输入翻译为适当语种的文字的能力。MiniGUI 中也包含有标准的中文简体输入法,包括全拼、五笔和智能拼音等等。MiniGUI 的输入法是一个相对独立的模块(称为 IME),它实际是一个特殊的主窗口。该主窗口将在启动之后,首先将自己注册为输入法窗口。这样,MiniGUI 的 desktop 就知道首先要将按键信息发送到这个主窗口之中,而不是当前的活动主窗口。当活动主窗

兰尘墨世 1567

理解MiniGUI消息循环和窗口过程

在Windows系列操作系统中,广泛使用了消息驱动的概念。在MiniGUI中,我们也使用了消息驱动作为应用程序的创建构架。消息驱动的含义就是:程序的流程不再是只有一个入口和若干个出口的串行执行路线。相反,程序会一直处于一个循环状态,在这个循环当中,程序从外部输入设备获取某些事件,比如用户的案件或者鼠标的移动,然后根据这些事件作出某种响应,并完成一定的功能,这个循环直到程序接受到某个消息为止。事件驱动的底层设施,就是常说的消息队列和消息循环。

l00102795的博客 1051

Minigui消息MSG_类型

1.系统消息 MSG_IDLE------Minigui窗口空闲无事件发生的时候,会一直不停的发送该消息给主窗口 MSG_TIMER----定时器消息,如果系统在MSG_CREATE建立窗口的时候创建了一个定时器SetTImer(hWnd,id,10ms*number),那么会根据设定的时间,一到时间就会发送该消息过来,可以利用这个来进行看门狗的复位. MSG_FDEVENT--

痞啖子蔡-博客 3628

miniGUI中的消息队列

应用程序必须及时处理投递到它的消息队列中的消息,程序一般在 MiniGUIMain 函数中通过一个消息循环来处理消息队列中的消息。 消息循环就是一个循环体,在这个循环体中,程序利用 GetMessage  函数不停地从消息队列中获得消息,然后利用 DispatchMessage  函数将消息发送到指定的窗口,也就是调用指定窗口的窗口过程,并传递消息及其参数。 在 MiniGUI-Thr

Paradise_for_why的专栏 1252

MiniGUI源码分析--Helloworld(3):消息概览

上一篇:MiniGUI源码分析--hellowworld(2):主窗口诞生的秘密 这本篇中,将重点介绍MiniGUI的消息。 在MiniGUI中,有以下几种消息: 1. 同步消息,由SendMessage、SendSyncMessage发送的同步消息,消息将被立即处理,消息的返回值将通过函数的返回值返回; 2. Notify消息,通过SendNotifyMessage发

doon的专栏 6092

MiniGUI的消息

http://blog.youkuaiyun.com/hiruyue/article/details/11603773

Hello,world! 1542

minigui[基础篇][3]——窗口和消息之消息

minigui手册的阅读

qq_43601873的博客 614

MiniGUI消息大全

1.MSG_DESTROY 调用DestroyMainWindow/DestroyWindow时发送到窗口过程中 例:程序在MSG_DESTROY消息中销毁被托管主窗口的位图、字体等 case MSG_DESTROY:      DestroyIocn(icon1);      DestroyIocn(icon2);      DestroyAllControls(hWnd);

曾经沧海 2151
上一篇: Cannot find the definition(implementation) of this function
下一篇: MiniGUI消息大全
HiRuyue
博客等级 码龄14年 47粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值