Windos 程序的生与死

Windows程序的生与死

                            ------摘自侯俊杰《深入浅出MFC

1、  程序的初始化过程中调用CreateWindow,为程序建立了一个窗口,作为程序的屏幕舞台,CreateWindow产生窗口之后会送出WM_CREATE直接给窗口函数,后者于是可以在此时做一些初始化操作(例如配置内存、打开文件、读取初始数据)

2、  在程序活着的过程中,不断以GetMessage从消息队列中抓取消息,如果这个消息是WM_QUITGetMessage会传回0而结束while循环,进而结束整个程序。

3、  DispatchMessage通过Windows USER 模块的协助和监督,把消息分派至窗口函数,消息将在该处被判别并处理。

4、  程序不断进行2.3.的操作。

5、  当使用者按下系统菜单中的Close命令项时,系统送出WM_CLOSE,通常程序的窗口函数不拦截此消息,于是DefWindowProc处理它。

6、  DefWindowProc收到WM_CLOSE后,调用DestroyWindow把窗口清除,DestroyWindow本身又会送出WM_DESTROY

7、  程序对WM_DESTROY的标准反应的是调用PostQuitMessage

8、  PostQuitMessage没什么其它的操作,就只送出WM_QUIT消息,准备让消息循环中的GetMessage取得,如步骤2,结束消息循环。

你可能感兴趣的:(windows,user,mfc)