SendMessageCallback

SendMessageCallback是一個計算機函式。

SendMessageCallback

VB聲明

Declare Function SendMessageCallback Lib "user32" Alias "SendMessageCallbackA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal lpResultCallBack As Long, ByVal dwData As Long) As Long

說明

將一條訊息發給視窗。該函式最大的特定是可以立即返回。目標視窗函式執行完畢後,會用回調函式的形式將結果返回

返回值

Long,TRUE表示成功,FALSE表示失敗。會設定GetLastError

參數表

參數 類型及說明
hwnd Long,要接收訊息的那個視窗的句柄
msg Long,訊息的標識符
wParam Long,取決於訊息
lParam Long,取決於訊息
lpResultCallBack Long,指定函式地址。在vb5中可用AddressOf操作符獲得
dwData Long,用戶自定義值

註解

回調函式聲明如下:
Public Function WndProc(ByVal hwnd&, ByVal msg&, ByVal wp&, ByVal lp&) As Long
其中,wp參數是作為dwData參數傳遞的值。lp參數包含了來自視窗函式的結果

功能原理

函式功能:該函式將指定的訊息傳送到一個或多個視窗。此函式為指定的視窗調用視窗程式,並立即返回。當視窗程式處理完訊息後,系統調用指定的回調函式,將訊息處理的結果和一個應用程式定義的值傳給回調函式。
函式原型:BOOL SendMessageCallback(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM IParam,
SEhDASYNCPROC IpResultCallBack,DWORD dwData);

各參數說明

參數
hWnd:其視窗程式將接收訊息的視窗的句柄。如果此參數為HWND_BROADCAST,則訊息將被傳送到系統中所有頂層視窗,包括無效或不可見的非自身擁有的視窗、被覆蓋的視窗和彈出式視窗,但訊息不被傳送到子視窗。
Msg:指定被傳送的訊息。
wParam:指定附加的訊息指定信息。
IParam:指定附加的訊息指定信息。
IpResultCallBack:指向回收函式的指針,窗曰程式處理完訊息後調用該回調函式。參見SendAsyncProc可得到合適的回調函式的信息。如果hwnd為HWND_BROADCAST,系統為每個頂層視窗調用一次SendASyncProc回調函式。
dwData:一個應用程式定義的值,被傳給由參數IPResultCallBack指向的回調函式。
返回值:如果函式調用成功,返回非零值。如果函式調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函式。
備註:如果傳送一個低於WM_USER範圍的訊息給異步訊息函式(PostMessage,SendNotifyMesssge;SendMessageCallback),訊息參數不能包含指針。否則,操作將會失敗。函式將在接收執行緒處理訊息之前返回,傳送者將在記憶體被使用之前釋放。
需要以HWND_BROADCAST方式通信的應用程式應當用函式RegisterWindwosMessage來獲得應用程式間通信的獨特的訊息。
此回調函式僅當調用SendMessagecallback的執行緒調用GetMessage,PeekMessage或WaitMessage時調用。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭檔案:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

著作權

此詞條來自網際網路,由網友自由創建。著作權屬原作者所有。本站若無意侵犯了你的權利,請來信聯繫我們,我們會及時配合處理。(http://www.clwiki.cn 計算機語言百科全書)

相關詞條

相關搜尋

熱門詞條

聯絡我們