VC++之Windows程式運行原理

來源:互聯網
上載者:User

1.基於事件驅動,封裝成訊息,放到訊息佇列中。
2.應用程式要硬體做事,就叫用作業系統的API(功能函數)。
3.作業系統將感知到的事件交給應用程式處理,處理過程就是訊息響應。
4.作業系統怎樣將感知到的事件傳遞給應用程式?----訊息機制(Message)實現。
5.作業系統將每一個事件封裝成一個結構體MSG(訊息)來傳遞給應用程式。
 
 
 
功能函數;
typedef struct tagMSN{
    HWND hwnd;
    UINT message;
    WPARAM wParam;
    LPARAM lParam;
    DWORD time;
    POINT pt;
}MSG;
 
Tip:
 使用者對電腦輸入裝置進行動作產生事件;
 作業系統感知事件,並按預先對這個事件定義好的結構體MSG(訊息)樣式進行封裝,再傳遞給應用程式;
 應用程式對接收到的的結構體MSG(訊息)進行處理,叫用作業系統的API,讓作業系統驅動電腦進行工作;
 
作業系統通過結構體MSG和使用者互動
 
 
控制代碼
 
 控制代碼就是資源的標識
 視窗,表徵圖,
 

 WM(Windows Message)開頭
 從變數和變數的類型來區分變數的用途
 
訊息佇列
  每一個應用程式,作業系統都會給它建立一個訊息佇列;
  訊息佇列是先進行出的緩衝區,它是某種變數類型的數組,訊息佇列數組中的每一個元素都是一條訊息,
作業系統將產生的每一個訊息按先後順序放進訊息佇列裡;
  應用程式總是取走第一條訊息,訊息佇列中的訊息依次前移;
  應用程式取得訊息後就知道使用者的操作和程式的變化;
  應用程式就對取得的訊息進行處理,即訊息響應,這是通過編碼實現的,即windows程式
主要的代碼區,使用者就針對收到的訊息編寫特定的代碼進行訊息響應;
  在使用者編寫代碼的過程中,又會調用其它Windows API;
 
Tip:  
  作業系統通過訊息機制將事件放在訊息佇列中,等待應用程式來取;
  應用程式取得事件進行處理(訊息響應),這個處理過程就需要使用者對事件編寫代碼,
叫用作業系統API實現相應的功能;
 
Tip:
  掌握訊息本身,不同的訊息代表使用者操作和程式狀態;
  掌握作業系統API,對特定的訊息,要讓作業系統執行特定的功能去響應這個訊息;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.