Windows程序的生与死

Windows程序的生与死主要是以下流程

1.程序初始化过程中调用CreateWindows , 为程序建立了一个窗口, 是程序在屏幕上的体现. CreateWindows在产生窗口之后会发送WM_CREATE的消息直接给窗口函数< 当一个应用程序创建窗口时,会通过消息处理函数。但是这个消息在 CreateWindow 函数返回之前被送到消息处理函数。>,于是可以在此时做些初始化操作(例如配置内存, 打开初始化文件, 读取初始数据…)

2.在程序的运行过程中, 不断利用GetMessage来从消息队列中抓取消息.< 就是一个while循环中间有GetMessage, 如果有消息就继续往下执行直到程序返回到这个while循环之中 >.如果这个消息是WM_QUIT, GetMessage()会传回0以此结束消息循环.

3.DispatchMessage()通过 Windows User 模块的协助与监督, 将消息给分发到消息处理函数, 并在此进行消息的判别与处理

4.不断进行2.和3.的操作

5.当我们去点击菜单中的Close时, 就会发送WM_CLOSE的消息给我我们的程序.

6.我们自己一般是不处理WM_CLOSE命令的, DefWindowProc()会处理这个消息, 并掉用DestoryWindow()清理窗口的数据,并产生WM_DESTORY消息.

7.我们一般不拦截WM_DESTORY消息, DefWindowProc()在处理这个消息时调用PostQuitMessage(), 发送WM_QUIT消息

8.GetMessage在获得这个消息时返回0,结束消息循环.

1.12 Windows程序的生与死 <深入浅出MFC读书笔记>相关推荐

  1. Windows编程 Windows程序的生与死(下)

    再谈程序之"死" 记得在第二回中我对程序的"死"只是一句话带过,因为我还没有铺垫好,好了现在我们可以详细的分析一下这个过程了. 这还要从while消息循环说起, ...

  2. Windows编程 第四回 Windows程序的生与死(下)

    致歉 很抱歉,读者看到的这篇文章将是我写的最没什么条理的一篇了,由于这一块儿内容是所有Windows程序的核心与基础,所以我分了三回来写.我想讲 得既易懂有又丰富,无奈本人才疏学浅,每每一提笔就要查很 ...

  3. Windows程序的生与死

    Windows程序分为"程序代码"和"UI资源"两大部分最后以RC编译器整合为一个完整的EXE档案. "以消息为基础,以事件驱动(message ba ...

  4. Windows 程序的生与死----FROM 侯俊杰

    个人感觉比孙鑫讲的要简单,孙鑫讲的有点多了,理解不如候俊杰讲的~~~ 1. 程序初始化过程中调用CreateWindow,为程序建立了一个窗口,做为程序的萤幕舞台.CreateWindow 产生窗口之 ...

  5. 深入浅出MFC 读书笔记1

    第六章 MFC程序的生死因果 1.不同类的PreCreateWindow()成员函数都是在窗口产生之前一刻被调用,准备用来注册窗口类.如果我们指定的窗口类是NULL,那么就使用系统默认类. 第九章 消 ...

  6. 1.13 空闲时间处理: Onldle <深入浅出MFC读书笔记>

    空闲时间处理 1.什么是空闲时间 2.空闲时间可以用来做什么 什么是空闲时间 书上的概念是这样的: 系统中没有任何消息等待处理 例如: 假如我们的我们鼠标从屏幕划过, 可能产生很多的消息, 但是电脑的 ...

  7. Node.js: 深入浅出Nodejs读书笔记

    今天终于把朴灵老师写的<深入浅出Node.js>给学习 完了, 这本书不是一本简单的Node入门书籍,它没有停留在Node介绍或者框架.库的使用层面上,而是从不同的视角来揭示Node自己内 ...

  8. 深入浅出数据分析读书笔记

    深入浅出数据分析读书笔记 一.数据分析引言 1.数据分析的基本流程:确定--分解--评估--决策.一个完整的分析项目可能经过多轮流程 确定:客户的论点和数据 分解:将手头的资料汇总为有用的格式 评估: ...

  9. 程序员的职业素养(读书笔记)-- 第一章

    程序员的职业素养(读书笔记) 第1 章 专业主义 1.1 清楚你要什么 "专业主义"有很深的含义,它不但象征着荣誉与骄傲,而且明确意味着责任 与义务.这两者密切相关,因为从你无法负 ...

  10. 深入浅出MFC学习笔记

    深入浅出MFC学习笔记 ithzhang CSDN博客:http://blog.csdn.net/ithzhang/article/category/1159054 转载于:https://blog. ...

最新文章

  1. 用位运算实现加减乘除
  2. vue-cli安装笔记
  3. 轻博客\博客\微博对比
  4. Spring的refresh()方法调用过程
  5. char varchar java_在数据库中varchar与char的区别
  6. linux的基础知识——网络套接字函数
  7. java中什么泛型_java中的泛型(一)
  8. 说说博客园的“关注”与“网摘”
  9. Python 下的 lambda 算子
  10. Linux主要的系统目录及其简单描述
  11. 计算机画图星星怎么画,电脑画图工具 奇奕画王使用教程(附序列号)
  12. 每日一字:biáng
  13. 专访百度AI交互设计院院长关岱松:感知类学科的尽头都是心理学 | 甲子光年
  14. 阿里巴巴助攻腾讯破6.2亿微商传销第一大案!涉案公众号粉丝2400
  15. 希腊字母英文简写与常用指代意义
  16. 使用for循环同时便利两个列表
  17. c#开发wps插件(3)部署
  18. 计算机毕业设计ssm健身房管理系统y7i9n系统+程序+源码+lw+远程部署
  19. 数据库之快照读与当前读
  20. linux 文件 查找内容替换,linux递归查找文件内容并替换

热门文章

  1. 腾讯AlloyTeam招募Web工程师(社招/校招/实习生)
  2. 怎么将小程序添加到我的小程序?
  3. 神器vimium:比同级程序员成长更快,我主要靠它
  4. Struts-2.3.24.1官方例子-struts2-blank
  5. 融创孙宏斌:我们现在是安全第一|一点财经
  6. 南邮《网络技术与应用,携程开源的分布式apollo技术
  7. 【C语言入门】数字中英翻译
  8. 广告行业中那些趣事系列21:从理论到实战BERT知识蒸馏
  9. 2021-11-17每日刷题打卡
  10. DevExpress 单元格的设置(可设字体、字号、前景色、背景色)