VC++之Windows程序运行原理

本文详细介绍了基于事件驱动的消息机制原理及其在Windows编程中的应用。包括如何使用结构体MSG传递事件,应用程序如何通过消息队列获取并响应这些事件,以及操作系统API在消息处理中的作用。


1.基于事件驱动,包装成消息,放到消息队列中。
2.应用程序要硬件做事,就调用操作系统的API(功能函数)。
3.操作系统将感知到的事件交给应用程序处理,处理过程就是消息响应。
4.操作系统怎样将感知到的事件传递给应用程序?----消息机制(Message)实现。
5.操作系统将每一个事件包装成一个结构体MSG(消息)来传递给应用程序。
 
 
 
功能函数;
typedef struct tagMSN{
    HWND hwnd;
    UINT message;
    WPARAM wParam;
    LPARAM lParam;
    DWORD time;
    POINT pt;
}MSG;
 
Tip:
 用户对电脑输入设备进行动作产生事件;
 操作系统感知事件,并按预先对这个事件定义好的结构体MSG(消息)样式进行包装,再传递给应用程序;
 应用程序对接收到的的结构体MSG(消息)进行处理,调用操作系统的API,让操作系统驱动电脑进行工作

 
操作系统通过结构体MSG和用户交互
 
 
句柄
 
 句柄就是资源的标识
 窗口,图标,
 

 WM(Windows Message)开头
 从变量和变量的类型来区分变量的用途
 
消息队列
  每一个应用程序,操作系统都会给它建立一个消息队列;
  消息队列是先进行出的缓冲区,它是某种变量类型的数组,消息队列数组中的每一个元素都是一条消息,
操作系统将生成的每一个消息按先后顺序放进消息队列里;
  应用程序总是取走第一条消息,消息队列中的消息依次前移;
  应用程序取得消息后就知道用户的操作和程序的变化;
  应用程序就对取得的消息进行处理,即消息响应,这是通过编码实现的,即windows程序
主要的代码区,用户就针对收到的消息编写特定的代码进行消息响应;
  在用户编写代码的过程中,又会调用其它Windows API;
 
Tip:  
  操作系统通过消息机制将事件放在消息队列中,等待应用程序来取;
  应用程序取得事件进行处理(消息响应),这个处理过程就需要用户对事件编写代码,
调用操作系统API实现相应的功能;

 
Tip:
  掌握消息本身,不同的消息代表用户操作和程序状态;
  掌握操作系统API,对特定的消息,要让操作系统执行特定的功能去响应这个消息;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值