特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>windows教程>

Windows消息機制含義

時間: 志藝942 分享

  Windows系統(tǒng)是一個消息驅(qū)動的OS,什么是消息呢?接下來是小編為大家收集的Windows消息機制含義,希望能幫到大家。

  Windows消息機制含義

  1、消息的組成:一個消息由一個消息名稱(UINT),和兩個參數(shù)(WPARAM,LPARAM)。當(dāng)用戶進行了輸入或是窗口的狀態(tài)發(fā)生改變時系統(tǒng)都會發(fā)送消息到某一個窗口。例如當(dāng)菜單轉(zhuǎn)中之后會有WM_COMMAND消息發(fā)送,WPARAM的高字中(HIWORD(wParam))是命令的ID號,對菜單來講就是菜單ID。當(dāng)然用戶也可以定義自己的消息名稱,也可以利用自定義消息來發(fā)送通知和傳送數(shù)據(jù)。

  2、誰將收到消息:一個消息必須由一個窗口接收。在窗口的過程(WNDPROC)中可以對消息進行分析,對自己感興趣的消息進行處理。例如你希望對菜單選擇進行處理那么你可以定義對WM_COMMAND進行處理的代碼,如果希望在窗口中進行圖形輸出就必須對WM_PAINT進行處理。

  3、未處理的消息到那里去了:M$為窗口編寫了默認(rèn)的窗口過程,這個窗口過程將負(fù)責(zé)處理那些你不處理消息。正因為有了這個默認(rèn)窗口過程我們才可以利用Windows的窗口進行開發(fā)而不必過多關(guān)注窗口各種消息的處理。例如窗口在被拖動時會有很多消息發(fā)送,而我們都可以不予理睬讓系統(tǒng)自己去處理。

  4、窗口句柄:說到消息就不能不說窗口句柄,系統(tǒng)通過窗口句柄來在整個系統(tǒng)中唯一標(biāo)識一個窗口,發(fā)送一個消息時必須指定一個窗口句柄表明該消息由那個窗口接收。而每個窗口都會有自己的窗口過程,所以用戶的輸入就會被正確的處理。例如有兩個窗口共用一個窗口過程代碼,你在窗口一上按下鼠標(biāo)時消息就會通過窗口一的句柄被發(fā)送到窗口一而不是窗口二。

  5、示例:下面有一段偽代碼演示如何在窗口過程中處理消息

  LONG yourWndProc(HWND hWnd,UINT uMessageType,WPARAM wP,LPARAM){ switch(uMessageType) {//使用SWITCH語句將各種消息分開

  case(WM_PAINT): doYourWindow(...);//在窗口需要重新繪制時進行輸出

  break; case(WM_LBUTTONDOWN): doYourWork(...);//在鼠標(biāo)左鍵被按下時進行處理

  break; default: callDefaultWndProc(...);//對于其它情況就讓系統(tǒng)自己處理 break; }}

  接下來談?wù)勈裁词窍C制:系統(tǒng)將會維護一個或多個消息隊列,所有產(chǎn)生的消息都回被放入或是插入隊列中。系統(tǒng)會在隊列中取出每一條消息,根據(jù)消息的接收句柄而將該消息發(fā)送給擁有該窗口的程序的消息循環(huán)。每一個運行的程序都有自己的消息循環(huán),在循環(huán)中得到屬于自己的消息并根據(jù)接收窗口的句柄調(diào)用相應(yīng)的窗口過程。而在沒有消息時消息循環(huán)就將控制權(quán)交給系統(tǒng)所以Windows可以同時進行多個任務(wù)。下面的偽代碼演示了消息循環(huán)的用法:

  while(1){ id=getMessage(...); if(id == quit) break; translateMessage(...);}當(dāng)該程序沒有消息通知時getMessage就不會返回,也就不會占用系統(tǒng)的CPU時間。

  下圖為消息投遞模式

  在16位的系統(tǒng)中系統(tǒng)中只有一個消息隊列,所以系統(tǒng)必須等待當(dāng)前任務(wù)處理消息后才可以發(fā)送下一消息到相應(yīng)程序,如果一個程序陷如死循環(huán)或是耗時操作時系統(tǒng)就會得不到控制權(quán)。這種多任務(wù)系統(tǒng)也就稱為協(xié)同式的多任務(wù)系統(tǒng)。Windows3.X就是這種系統(tǒng)。

  而32位的系統(tǒng)中每一運行的程序都會有一個消息隊列,所以系統(tǒng)可以在多個消息隊列中轉(zhuǎn)換而不必等待當(dāng)前程序完成消息處理就可以得到控制權(quán)。這種多任務(wù)系統(tǒng)就稱為搶先式的多任務(wù)系統(tǒng)。Windows95/NT就是這種系統(tǒng)。

看了“Windows消息機制含義”還想看:

1.Windows 中斷程序設(shè)計

2.c中timer的用法

3.中間價機制微調(diào)最新消息

Windows消息機制含義

Windows系統(tǒng)是一個消息驅(qū)動的OS,什么是消息呢?接下來是小編為大家收集的Windows消息機制含義,希望能幫到大家。 Windows消息機制含義 1、消息的組成:一個消息由一個消息名稱(UINT),和兩個參數(shù)(WPARAM,LPARAM)。當(dāng)用戶進行了輸入或是
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • windows installer是什么怎么解決
    windows installer是什么怎么解決

    windows installer是一個執(zhí)行事務(wù)型(Transactional)安裝的引擎。當(dāng)首次安裝一個產(chǎn)品時,被安裝的文件中基本很少已經(jīng)存在于計算機中,甚至可能完全沒有。接下

  • 判斷windows啟動方式是uefi還是legacy bios教程
    判斷windows啟動方式是uefi還是legacy bios教程

    如何確定windows啟動類型是uefi還是legacy bios?安裝系統(tǒng)過程中,經(jīng)常需要判斷電腦上的windows啟動方式是什么?是uefi還是legacy bios?接下來是小編為大家收集的判

  • C盤最占內(nèi)存的文件是什么文件可以刪么
    C盤最占內(nèi)存的文件是什么文件可以刪么

    接下來是小編為大家收集的C盤最占內(nèi)存的文件是什么文件,希望能幫到大家。 C盤最占內(nèi)存的文件是什么文件 問:我的電腦C盤有三個文件體積實在太大,

  • c盤有哪些文件可以刪
    c盤有哪些文件可以刪

    如果不是系統(tǒng)重要文件,無關(guān)緊要的話那么這些文件就可以清除,但計算機操作系統(tǒng)的文件是不能隨意亂刪除的,一旦亂刪除了,計算機就會罷工了,接下

2769698