WIN32傳送自定義訊息

2021-10-10 07:08:22 字數 1240 閱讀 1526

win32訊息機制中,系統會傳送各種訊息到訊息佇列,開發可以呼叫getmessage得到相關訊息。

win32的api也提供了對應開發自行的傳送訊息到訊息佇列的功能.

sendmessagea直接傳送訊息到對應的視窗處理函式中,直到處理後函式才返回。

postmessagea將資訊放入訊息佇列中,立即返回。

//訊息處理器

lresult callback mywndproc

(hwnd hwind, uint unit, wparam wp, lparam lp)

return

defwindowproc

(hwind, unit, wp, lp);}

intmain()

}}

上面的時序如下圖

如果上面的**更換為postmessagea

//訊息處理器

我可以通過上述兩個api傳送(sendmessageapostmessagea)系統定義的訊息型別,當然也可以傳送我們的自己的訊息。

但是為了避免和系統定義的訊息型別衝突win32提供特殊的巨集定義.

#define wm_user 0x0400

我們只需要自定義自己訊息型別加上wm_user即可.

int my_message = wm_user +1;

sendmessagea

(hwnd, my_message,0,0);

Win32 自定義本地資源dll

這裡是記錄我的經驗,沒啥技術含量的,小白這廂有禮了 最近在寫乙個服務框架,這個服務框架是給別人用於開發服務用的.開發人員使用服務的時候,需要使用一些認證用的授權檔案,每個服務都需要有個授權檔案.此時,不幸的是,我的框架裡面也用到了一些授權檔案,用來嵌入部分具體的系統服務.那麼問題來了,如果韓梅梅使用...

自定義訊息的傳送與接收處理

傳送 標頭檔案定義 自定義訊息 wm user 數值 高點以免被占用 define wm bsnbstzchick wm user 804 cpp trycatch 接收 標頭檔案定義 自定義訊息 wm user 數值 高點以免被占用 define wm bsnbstzchick wm user 8...

QT UDP傳送自定義結構體(訊息體)

includeqt network include include 官方例項 服務端繫結埠,能夠收到固定埠的廣播訊號。void server initsocket void server readpendingdatagrams 官方例項中 廣播和接收自定義結構體 訊息體 訊息體新增msg type...