您的位置:首页 > 其它

Windows操作系统的消息机制

2011-11-07 18:46 204 查看
最近学习了下MFC,现在说说我对Windows操作系统的消息机制的了解。如有不对,请大家多多指正。

什么是消息? 通俗的来讲,消息就是操作系统给应用程序的一个通知,它告诉应用程序一个事件的发生,如鼠标单击,键盘按下等。

消息的组成:

hwnd 窗口句柄

message 消息常量标识符

lparam 通常是一个指向内存中数据的指针

wparam 通常是与一个消息有关的常量

time 消息创建的时间

pt 消息创建时鼠标的位置

消息的分类:

标准消息 标准消息以WM_开头

通知消息 通知消息是在针对控件的消息,这些控件包括按钮、组合框、菜单等

自定义消息 编程人员自己定义的消息

消息系统的组成

消息队列 Windows操作系统能为所有的应用程序都能维护一个消息队列,应用程序从消息队列中获取消息并分派给程序某个窗口。

消息循环 应用程序运行后,会进入消息循环,在这个消息循环中,应用程序不断的从消息队列中获取相应的消息,并分派给应用程序相应的窗口。

窗口过程 每个窗口都有一个窗口过程来接收传递给窗口的消息,它的任务是获取消息然后相应的处理它。

Windows操作系统的消息控制

第一级控制中心是Windows操作系统的内核,它维护着一个消息队列

第二级控制中心是应用程序,它从消息队列中获取属于自己管辖的消息后做出处理。

第三级控制中心是窗体对象,应用程序接收到消息后会传给主窗口处理,如果主窗口不处理消息,它会往下传递给子窗口或者子控件,如果子窗口或者子控件仍然没有处理,子窗口或者子控件又会把这个消息传递给它的子控件或者子窗口,一直往下传,如果最终没有处理,这个消息又开始按照相应的顺序往上传。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: