從不同角度簡單闡述訊息機制

2022-04-05 12:33:00 字數 952 閱讀 8439

while (getmessage (&msg, null, 0, 0

))

這是winmain函式中典型的訊息迴圈。getmessage函式從訊息佇列中取出下一條訊息,填入msg結構字段。dispatchmessage函式呼叫此視窗的訊息過程。

在這兩個函式之間是translate函式,它負責把擊鍵訊息轉換為字元訊息。

——以上內容摘自《windows程式設計》189頁

《windows程式設計》第54頁有下面幾段話:

【下面的語句將msg結構返還給windows以進行某些鍵盤訊息的轉換:

translatemessage (&msg) ;

而以下語句則講msg結構在此返還給windows:

dispatchmessage (&msg) ;

接下來,windows會將這條訊息傳送給合適的視窗過程來處理。】

【視窗過程總是按照如下方式來定義:

lresult callback wndproc (hwnd hwnd, uint message, wparam wparam, lparam lparam)

視窗過程的四個引數與msg結構的前四個欄位是一一對應的。第乙個引數是hwnd,表示接收訊息的視窗的控制代碼。

第二個引數與msg結構的message欄位對應,是乙個標識訊息的數字。

最後兩個引數是32位的訊息引數,用於提供該訊息的更豐富資訊。這些引數中所包含的內容依賴於具體的訊息型別。

從上面摘錄的最後一段可以得出,平時用到的wparam和lparam是結構msg的成員,與msg的message成組出現,用於「提供該訊息的更豐富資訊」。

理解了這些,對理解整個訊息機制有極大幫助。 

58~61頁的《windows程式設計中的若干難點》對訊息機制做了更多的闡述,至此,訊息機制可以告一段落。注意59頁底部對defwindowproc的講解

從不同角度了解大資料

zdnet至頂網軟體頻道訊息 無論向誰詢問大資料專案中首要的挑戰,您基本上都會聽到類似的模式回答 資料量 volume 速度 velocity 以及多樣性 variety 這三個v儼然已經成為大資料的同義詞,從ceo往下的所有人員都將戰略重心鎖定在這三點之上。然而,面對合理的挑戰時,大資料的長期性 ...

值得從不同角度思考的反直覺問題

1 三門問題monty hall problem mueser 和 granberg 透過釐清細節,以及對主持人的行為加上明確的介定,提出了對這個問題的一種不含糊的陳述 轉換選擇可以增加參賽者拿到汽車的機會嗎?比如從概率論 貝葉斯推理 因果關係的角度分析。2 紅眼睛藍眼睛問題the blue eye...

從不同頁面內容角度來看 網頁最合適寬度

下面是google閱讀器的主閱讀區域。不難發現儘管螢幕右側還有大量空白空間。下面對網頁內容進行乙個不完全的分組,注意觀察標記內容寬度的紫色標誌線。1 搜尋結果 摘要。以上四者均為搜尋結果類。使用者快速掃讀整個頁面,目標是快速定位到適當的結果,使用者眼球需要快速縱向移動。如果同時橫向移動很容易造成疲勞...