中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      解釋一下Windows的消息機(jī)制

      時間:2020-11-21 17:39:57 筆試經(jīng)驗(yàn) 我要投稿

      解釋一下Windows的消息機(jī)制

        Windows是一個消息(Message)驅(qū)動系統(tǒng)。Windows的消息提供了應(yīng)用程序之間、應(yīng)用程序與Windows系統(tǒng)之間進(jìn)行通信的手段。應(yīng)用程序想要實(shí)現(xiàn)的功能由消息來觸發(fā),并且靠對消息的響應(yīng)和處理來完成。

        Windows系統(tǒng)中有兩種消息隊(duì)列:系統(tǒng)消息隊(duì)列和應(yīng)用程序消息隊(duì)列。計算機(jī)的所有輸入設(shè)備由Windows監(jiān)控。當(dāng)一個事件發(fā)生時,Windows先將輸入的消息放入系統(tǒng)消息隊(duì)列中,再將消息拷貝到相應(yīng)的應(yīng)用程序消息隊(duì)列中。應(yīng)用程序的消息處理程序?qū)⒎磸?fù)檢測消息隊(duì)列,并把檢測到的每個消息發(fā)送到相應(yīng)的窗口函數(shù)中。這便是一個事件從發(fā)生至到達(dá)窗口函數(shù)必須經(jīng)歷的過程。

        必須注意的是,消息并非是搶占性的,無論事件的緩急,總是按照到達(dá)的`先后派對,依次處理(一些系統(tǒng)消息除外),這樣可能使一些實(shí)時外部事件得不到及時處理。

        Windows中的消息是放在對應(yīng)的進(jìn)程的消息隊(duì)列里的?梢酝ㄟ^GetMessage取得,并且對于一般的消息,此函數(shù)返回非零值,但是對于 WM_QUIT消息,返回零?梢酝ㄟ^這個特征,結(jié)束程序。當(dāng)取得消息之后,應(yīng)該先轉(zhuǎn)換消息,再分發(fā)消息。所謂轉(zhuǎn)換,就是把鍵盤碼的轉(zhuǎn)換,所謂分發(fā),就是把消息分發(fā)給對應(yīng)的窗口,由對應(yīng)的窗口處理消息,這樣對應(yīng)窗體的消息處理函數(shù)就會被調(diào)用。兩個函數(shù)可以實(shí)現(xiàn)這兩個功能:TranslateMessage 和DispatchMessage。

        另外,需要注意,當(dāng)我們點(diǎn)擊窗口的關(guān)閉按鈕關(guān)閉窗口時,程序并沒有自動退出,而是向程序發(fā)送了一個WM_DESTROY消息(其實(shí)過程是這樣的,首先向程序發(fā)送WM_CLOSE消息,默認(rèn)的處理程序是調(diào)用DestroyWindow銷毀窗體,從而引發(fā)WM_DESTROY消息),此時在窗體中我們要響應(yīng)這個消息,如果需要退出程序,那么就要向程序發(fā)送WM_QUIT消息(通過PostQuitMessage實(shí)現(xiàn))。一個窗體如果想要調(diào)用自己的消息處理函數(shù),可以使用SendMessage向自己發(fā)消息。

        如上所述,大部分(注意是大部分)的消息是這樣傳遞的:首先放到進(jìn)程的消息隊(duì)列中,之后由GetMessage取出,轉(zhuǎn)換后,分發(fā)給對應(yīng)的窗口。這種消息成為存儲式消息。存儲式消息基本上是使用者輸入的結(jié)果,以擊鍵(如WM_KEYDOWN和WM_KEYUP訊息)、擊鍵產(chǎn)生的字符(WM_CHAR)、鼠標(biāo)移動(WM_MOUSEMOVE)和鼠標(biāo)按鈕(WM_LBUTTONDOWN)的形式給出。存儲式消息還包含時鐘消息(WM_TIMER)、更新消息(WM_PAINT)和退出消息(WM_QUIT)。

        但是也有的消息是直接發(fā)送給窗口的,它們被稱為非存儲式消息。例如,當(dāng)WinMain調(diào)用 CreateWindow時,Windows將建立窗口并在處理中給窗口消息處理函數(shù)發(fā)送一個WM_CREATE消息。當(dāng)WinMain調(diào)用 ShowWindow時,Windows將給窗口消息處理函數(shù)發(fā)送WM_SIZE和WM_SHOWWINDOW消息。當(dāng)WinMain調(diào)用 UpdateWindow時,Windows將給窗口消息處理函數(shù)發(fā)送WM_PAINT消息。

      【解釋一下Windows的消息機(jī)制】相關(guān)文章:

      微軟Windows 7系統(tǒng)開機(jī)加載過程的原理和機(jī)制09-28

      Windows10-06

      面向物聯(lián)網(wǎng)環(huán)境的網(wǎng)絡(luò)設(shè)備消息轉(zhuǎn)換機(jī)制分析08-15

      windows安全配置的規(guī)則08-08

      解釋一下XSS cookie盜竊是什么意思11-29

      住房公積金制的消息07-20

      Windows 操作系統(tǒng)的使用08-14

      使用Windows XP的小技巧10-11

      Windows XP的幾個使用技巧10-11

      windows系統(tǒng)內(nèi)存的優(yōu)化技巧10-07

      主站蜘蛛池模板: 国产综合精品久久久久成人| 日韩狼人精品在线观看| 免费人成黄页网站在线观看国内| 日本岛国视频一区二区三区| 国产精品情侣露脸av在线播放| 亚洲精品美女久久久久99| 亚洲国产精品日韩专区av| 扶风县| 看全色黄大色大片免费久久久| 精品久久人妻一区二区三区| 国产极品喷水视频| 国产福利一区二区三区视频在线看| 绥江县| 博乐市| 国产成人精品蜜芽视频| 妇女自拍偷自拍亚洲精品| av网页在线免费观看| 国内精品久久久久国产盗摄| 国产亚洲精品综合在线网址| 国产午夜精品视频在线播放| 唐海县| 日本视频精品一区二区| 奉新县| 河西区| 亚州AV成人无码久久精品| 营口市| 久久精品国产亚洲av麻豆毛片| 安庆市| 欧洲AV秘 无码一区二区三| 五月激情狠狠开心五月| 四子王旗| 色乱码一区二区三区在线| 伊人色综合九久久天天蜜桃| 无码一区二区三区网站| 亚洲成AV人国产毛片| 欧美丝袜激情办公室在线观看| 国产九色蝌蚪91av在线观看| 亚洲AV秘 无套一区二区三区| 国产亚洲日韩AV在线播放不卡| 在线毛片一区二区不卡视频| 国产精品人人爱一区二区白浆|