1. Windows應(yīng)用程序,操作系統(tǒng),計(jì)算機(jī)硬件之間的相互關(guān)系:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺(tái)小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了陸港免費(fèi)建站歡迎大家使用!箭頭③對(duì)應(yīng)API的調(diào)用
箭頭④對(duì)應(yīng)操作系統(tǒng)返回事件給應(yīng)用程序
2. 操作系統(tǒng)充當(dāng)?shù)慕巧?/p>
操作系統(tǒng)負(fù)責(zé)管理外圍設(shè)備,同時(shí)與上層的應(yīng)用程序交互。而應(yīng)用程序只需要調(diào)用相應(yīng)的API就能實(shí)現(xiàn)對(duì)外圍設(shè)備的操作。操作系統(tǒng)充當(dāng)一個(gè)中間角色。
3. API
應(yīng)用程序是以函數(shù)調(diào)用的方式來(lái)通知操作系統(tǒng)執(zhí)行相應(yīng)的功能的。操作系統(tǒng)所能夠完成的每一個(gè)特殊功能通常都有一個(gè)函數(shù)與其對(duì)應(yīng)。操作系統(tǒng)把它所能夠完成的功能以函數(shù)的形式提供給應(yīng)用程序使用,應(yīng)用程序?qū)@些函數(shù)的調(diào)用就叫做系統(tǒng)調(diào)用,這些函數(shù)的集合就是Windows操作系統(tǒng)提供給應(yīng)用程序編程的接口(Application Programming Interface),簡(jiǎn)稱Windows API。如CreateWindow就是一個(gè)API函數(shù),應(yīng)用程序中調(diào)用這個(gè)函數(shù),操作系統(tǒng)就會(huì)按照該函數(shù)提供的參數(shù)信息產(chǎn)生一個(gè)相應(yīng)的窗口。
4. 消息和消息隊(duì)列
Windows程序是以事件驅(qū)動(dòng)方式運(yùn)行的,主要是基于消息。操作系統(tǒng)將每個(gè)感知的事件都包裝成一個(gè)稱為消息的結(jié)構(gòu)體MSG來(lái)傳遞給應(yīng)用程序。MSG結(jié)構(gòu)如下示:
[cpp] view plaincopyprint? typedef struct tagMSG { HWND hwnd; //一個(gè)消息總是與某個(gè)窗體相關(guān)聯(lián)的 UINT message; //消息標(biāo)識(shí)符,數(shù)值,對(duì)應(yīng)WM_XXX的宏 WPARAM wParam; //附加消息 LPARAM lParam; //附加消息 DWORD time; //投遞時(shí)間 POINT pt; //鼠標(biāo)當(dāng)前位置 } MSG;typedef struct tagMSG { HWND hwnd; //一個(gè)消息總是與某個(gè)窗體相關(guān)聯(lián)的 UINT message; //消息標(biāo)識(shí)符,數(shù)值,對(duì)應(yīng)WM_XXX的宏 WPARAM wParam; //附加消息 LPARAM lParam; //附加消息 DWORD time; //投遞時(shí)間 POINT pt; //鼠標(biāo)當(dāng)前位置 } MSG;
而應(yīng)用程序則循環(huán)不斷地從消息隊(duì)列中取出消息,并進(jìn)行響應(yīng),這就是消息機(jī)制。
注意到,操作系統(tǒng)為不同類型的應(yīng)用程序維護(hù)不同的消息隊(duì)列。消息也分進(jìn)隊(duì)和不進(jìn)隊(duì)消息,進(jìn)隊(duì)的消息由系統(tǒng)放入到應(yīng)用程序的消息隊(duì)列中,不進(jìn)隊(duì)的消息在系統(tǒng)調(diào)用窗口過(guò)程時(shí)直接發(fā)送給窗口。不管是進(jìn)隊(duì)還是不進(jìn)隊(duì)消息,最終都由系統(tǒng)調(diào)用窗口過(guò)程函數(shù)對(duì)消息進(jìn)行處理。
不登高山,怎知天高;不臨深溪,焉知地厚!站在堅(jiān)實(shí)的土地上,做著生命中最真實(shí)的事情;像一棵挺拔的大樹,認(rèn)可自己的命運(yùn)并敢于迎接屬于這一方天空的風(fēng)風(fēng)雨雨。