Windows訊息機制

來源:互聯網
上載者:User

標籤:響應   dev   應用   src   處理機   http   技術   維護   www   


Windows的訊息系統是由3個部分組成的:

· 訊息佇列。Windows能夠為所有的應用程式維護一個訊息佇列。應用程式必須從訊息佇列中擷取
訊息,然後指派給某個視窗。
· 訊息迴圈。通過這個迴圈機制應用程式從訊息佇列中檢索訊息,再把它指派給適當的視窗,然
後繼續從訊息佇列中檢索下一條訊息,再指派給適當的視窗,依次進行。
· 視窗過程。每個視窗都有一個視窗過程來接收傳遞給視窗的訊息,它的任務就是擷取訊息然後
響應它。視窗過程是一個回呼函數;處理了一個訊息後,它通常要返回一個值給Windows。
注意回呼函數是程式中的一種函數,它是由Windows或外部模組調用的。
一個訊息從產生到被一個視窗響應,其中有5個步驟:
1) 系統中發生了某個事件。
2) Windows把這個事件翻譯為訊息,然後把它放到訊息佇列中。
3) 應用程式從訊息佇列中接收到這個訊息,把它存放在TMsg記錄中。
4) 應用程式把訊息傳遞給一個適當的視窗的視窗過程。
5) 視窗過程響應這個訊息並進行處理。
步驟3和4構成了應用程式的訊息迴圈。訊息迴圈往往是Windows應用程式的核心,因為訊息迴圈
使一個應用程式能夠響應外部的事件。訊息迴圈的任務就是從訊息佇列中檢索訊息,然後把訊息傳遞給適當的視窗。如果訊息佇列中沒有訊息,Windows就允許其他應用程式處理它們的訊息。
Windows作業系統最大的特點就是其圖形化的操作介面,其圖形化介面是建立在其訊息處理機制這個基礎之上的。如果不理解Windows訊息處理機制,肯定無法深入的理解Windows編程。可惜很多程式員對Windows訊息只是略有所聞,對其使用知之甚少,更不瞭解其內部實現原理,本文試著一步一步向大家披露我理解的Windows訊息機制。可以說,掌握了這一部分知識,就是掌握了Windows編程中的神兵利器,靈活運用它,將會極大的提高我們的編程能力。

Windows訊息機制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.