SendMessage()

該函式將指定的訊息傳送到一個或多個視窗,為指定的視窗調用視窗程式,直到視窗程式處理完訊息再返回。

函式功能:該函式將指定的訊息傳送到一個或多個視窗。此函式為指定的視窗調用視窗程式,直到視窗程式處理完訊息再返回。而函式PostMessage不同,將一個訊息寄送到一個執行緒的訊息佇列後立即返回。
函式原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);
參數:
hWnd:其視窗程式將接收訊息的視窗的句柄。如果此參數為HWND_BROADCAST,則訊息將被傳送到系統中所有頂層視窗,包括無效或不可見的非自身擁有的視窗、被覆蓋的視窗和彈出式視窗,但訊息不被傳送到子視窗。
Msg:指定被傳送的訊息。
wParam:指定附加的訊息指定信息。
IParam:指定附加的訊息指定信息。
返回值:返回值指定訊息處理的結果,依賴於所傳送的訊息。
備註:需要用HWND_BROADCAST通信的應用程式應當使用函式RegisterWindowMessage來為應用程式間的通信取得一個唯一的訊息。
訊息分三類:標準訊息,命令訊息,通告訊息.
標準訊息通過解析Msg直接傳送,命令訊息通過解析標準訊息的Msg獲得WM_COMMAND,再解析wParam從而獲得命令ID號訊息.
如: MFC類裡面封裝了視窗句柄我們可以這樣用函式,SendMessage(WM_COMMAND,ID_NAME,0);

相關詞條

熱門詞條

聯絡我們