Windows程序的生命周期

来源:互联网 发布:狙击步枪子弹编程图片 编辑:程序博客网 时间:2024/06/05 20:44

实例参见《典型的Windows应用程序代码》一文!

 

(1)程序初始化过程中首先调用函数CreateWindow(),为程序建立一个窗口。CreatWindow产生窗口后会发送WM_CREATE直接给窗口函数,于是后者可以在此时做些初始化操作(例如打开文件、读初始数据等)。

(2)程序存活期间,函数GetMessage()不断从消息队列中检索消息。如果这个消息是WM_QUIT,函数GetMessage()则会回传0而结束消息循环,进而结束整个程序。

(3)函数DispatchMessage()通过Windows User模块的协助与监督,把消息分派至窗口函数。消息将在该处被判别并处理。应用程序不断进行(2)和(3)的操作。

(4)当使用者单机系统菜单中的Close命令时,系统发出WM_CLOSE。通常程序的敞口函数不拦截此消息,有函数DefWindowProc()处理它。

(5)函数DefWindowProc()收到WM_CLOSE后,调用函数DestroyWindow()把窗口消除。函数DestroyWindow()本身又会送出WM_DESTROY。程序对WM_DESTROY的标准反应是调用函数PostQuitMeesage()。

(6)函数PostQuitMessage()只送出WM_QUIT消息,以便让消息循环中的函数GetMessage()获取并传回0,从而结束消息循环。

原创粉丝点击