MSG 结构

MSG 消息结构

在 Windows 程序中,消息是由 MSG 结构体来表示的。

结构原型:

  1. typedef struct tagMSG {
  2. HWND   hwnd;
  3. UINT   message;
  4. WPARAM wParam;
  5. LPARAM lParam;
  6. DWORD  time;
  7. POINT  pt;
  8. } MSG, *PMSG, *LPMSG;

复制代码

成员解析:

成员 含义
hwnd 指定接收消息的窗口句柄
如果是线程消息,该值是 NULL
message 1. 消息的标识符,由于数值不便于记忆,所以 Windows 将消息对应的数值定义为 WM_XXX 宏的形式
2. 应用程序消息只能使用低 16 位,高 16 位被系统保留
3. 传送门:Windows 常用消息及含义
wParam 指定消息的附加消息,确切的含义取决于消息成员的值
lParam 指定消息的附加消息,确切的含义取决于消息成员的值
time 该消息被投放到消息队列的时间
pt 当消息被投放到消息队列的时,鼠标位于屏幕中的位置

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

时间: 2024-11-05 20:02:39

MSG 结构的相关文章

Window程序的结构--学习笔记

学过C系语言编程的都知道,程序的入口一定是main()函数,在windows系统中也有这样的函数,它叫WinMain函数.WinMain函数是所有windows程序的入口,主要负责注册窗口类,创建并初始化窗口,进入消息循环,以及消息循环检索到WM_QIUT消息时,终止程序执行. 下面详细说明 在此之前,请看下面的代码: int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nC

Windows消息队列

一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个"消息队列",即应用程序队列,用来存放该程序可能 创建的各种窗口的消息.应用程序中含有一段称作"消息循环"的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中.  二 Windows为当前执行的每个Windows程序维护一个「消息队列」.在发生输入事件之后,Windows将事件转换为一个「消息」并将消息放入程序的消息队列中.程序通过执行一块称之为「消息循

【转】《windows核心编程》读书笔记

这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和Windows实际机制可能有出入,但应该是合理的.开头几章由于我追求简洁,往往是很多单独的字句,后面的内容更为连贯. 海量细节. 第1章    错误处理 1.         GetLastError返回的是最后的错误码,即更早的错误码可能被覆盖. 2.         GetLastError可能用于描述成功的原因(CreatEvent)

终于懂了:Delphi消息的Result完全是生造出来的,不是Windows消息自带的(Delphi对Windows编程体系的改造越大,学习收获就越大)

Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型, 而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样. time表示产生消息的时间,pt表示产生消息时鼠标的位置. 里面没有Result的选项.然后我用VC2008实测MSG结构的大小: #include <afx.h> void Cxe111Dlg::OnBnClickedButton1() { CString m_Str; int ddd = siz

超详细SDK Hello World

Windows应用程序的基本运行机制与HelloWin程序详细解 总的来说最基本的Windows应用程序的运行执行顺序总是以如下的基本顺序执行的. 顺序结构: 调用WinMain函数开始执行--à定义窗口类--à初始化窗口类---à窗口的实例化--à通过消息循环获取消息并将消息发送给消息处理函数做出相应的操作 由于windows应用程序运行的逻辑结构特殊所以代码的详细解释笔者就不把程序于叙述分开了了,这样有利于阅读与分析. 下载该程序:点击这里下载(82K, winzip压缩文件) 分析代码如下

Windows程序消息机制浅析

1.消息  消息是由MSG结构体来表示的.如下: 1 typedef struct tagMSG { 2 HWND hwnd; 3 UINT message; 4 WPARAM wParam; 5 LPARAM lParam; 6 DWORD time; 7 POINT pt; 8 } MSG 2.WinMain函数的定义 WinMain函数的原型声明如下: 1 int WINAPI WinMain( 2 HINSTANCE hInstance, // handle to current ins

孙鑫MFC学习笔记1:Win32程序运行原理

1.MSG结构 hwnd:窗口句柄 message:消息类型 wParam & lParam:消息的附加信息(比如键值) time:消息被投递的时间 tip:typedef的作用是从变量类型区分变量用途 2.WinMain 3.程序开发步骤 4.设计窗口类 5.创建窗口.显示窗口.更新窗口 6.回调函数 tip:BeginPaint.EndPaint只能在响应WM_PAINT消息中使用,而GetDC不能在这里使用 tip:if语句中如果是常量与变量比较是否相等,应该把常量写在左边(可以避免把==

VC++编程之第一课笔记

第一课 Windows程序内部运行原理 API 操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用.这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API. 如Create Window就是一个API函数,应用程序调用这个函数,操作系统就会按照该函数提供的参数信息产生一个相应的窗口. MSG(消息结构体) 结构体定义如下: typedef s

深度解析VC中的消息传递机制

摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的.所以,要学好Windows编程,必须 对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析. 一.什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉.一个消息,是系统定义的一个32位的值,他唯一的定 义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了.例如,单击鼠标.改变窗口尺寸.按下键盘上的一个键 都会使Windows发送一个