• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            按下了關閉按鈕以后windows的處理步驟和消息流程

            1、當你按下了“關閉”按鈕或選取了“退出”菜單項之后,WM_CLOSE消息被發送給了應用程序的窗口處理過程函數。該函數對該消息的缺省處理僅為調用DestroyWindow()API函數,導致窗口被銷毀。
            2、當窗口的客戶區被銷毀的時候WM_DESTROY消息被發給了應用程序的窗口處理過程。程序員可以在此釋放他自己分配的與窗口客戶區相關的資源,而窗口過程函數缺省的處理僅為調用PostQuitMessage()函數,這將導致WM_QUIT消息被送進應用程序的消息隊列。
            3、隨后窗口的非客戶區(包括菜單欄、標題欄、狀態欄等)被銷毀,此時WM_NCDESTROY消息被發送給了應用程序的窗口過程。這個消息也是窗口過程處理的最后一個消息,程序員可以在這里釋放他自己分配的而一直沒有釋放的內存。使用了MFC創建的應用程序往往要在這個消息響應函數當中進行一些釋放內存和資源的工作。
            4、而應用程序的消息檢測函數GetMessage()一旦檢索到WM_QUIT消息,就會返回False,從而結束消息循環,并且讓應用程序的WinMain()函數返回,從而結束應用程序。因此應用程序的窗口處理過程是不可能處理到這條WM_QUIT消息的。
            5、綜上所述,如果我們是用SDK方法編寫應用程序而又不需要在程序結束的時候釋放用new及其他內存分配函數顯式分配的內存的話,我們完全可以直接通過向應用程序發送WM_QUIT消息讓程序退出。
            6、如果我們利用了MFC創建應用程序則最好通過發送WM_CLOSE消息讓應用程序結束。因為MFC往往要在最后時刻進行一些清理工作。

            posted on 2008-03-11 16:47 弱水一瓢 閱讀(755) 評論(0)  編輯 收藏 引用 所屬分類: MFC

            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導航

            統計

            文章分類

            最新評論

            色综合久久久久综合99| 久久婷婷五月综合97色 | 久久国产高清一区二区三区| 久久久久国产视频电影| 久久精品青青草原伊人| 久久九九青青国产精品| 香蕉久久久久久狠狠色| 国产精品内射久久久久欢欢| av色综合久久天堂av色综合在| 国产A级毛片久久久精品毛片| 欧美亚洲国产精品久久久久| 久久精品一区二区| 久久综合给合久久国产免费| 一级做a爰片久久毛片免费陪 | 久久精品国内一区二区三区| 久久久久亚洲精品日久生情| 久久国产精品免费| 大伊人青草狠狠久久| 午夜不卡久久精品无码免费| 内射无码专区久久亚洲| 精品综合久久久久久88小说| 国产成人久久精品一区二区三区| 久久无码精品一区二区三区| 2021国产成人精品久久| 久久99精品国产| 久久久久免费精品国产| 久久66热人妻偷产精品9| 香蕉久久av一区二区三区| 久久亚洲AV无码精品色午夜| 日日狠狠久久偷偷色综合0| 久久久久亚洲av成人无码电影| 色综合久久天天综合| 久久99亚洲综合精品首页| 99久久国产综合精品五月天喷水| 免费观看久久精彩视频| 久久本道综合久久伊人| 国产一区二区三精品久久久无广告| 青青青青久久精品国产| 精品久久久久久无码中文野结衣 | 亚洲香蕉网久久综合影视| 亚洲愉拍99热成人精品热久久|