複製鏈接
請複製以下鏈接發送給好友

SendMessageTimeout

鎖定
SendMessageTimeout是一個功能函數,原型為LRESULT SendMessageTimeout,功能有將指定的消息發送到窗口。
外文名
SendMessageTimeout
功    能
將指定的消息發送到窗口
原    型
LRESULT SendMessageTimeout
類    別
計算機函數

目錄

SendMessageTimeout定義

函數功能:該函數將指定的消息發送到一個或多個窗口。此函數為指定的窗口調用窗口程序,並且,如果指定的窗口屬於不同的線程,直到窗口程序處理完消息或指定的超時週期結束函數才返回。如果接收消息的窗口和當前線程屬於同一個隊列,窗口程序立即調用,超時值無用。
函數原型:LRESULT SendMessageTimeout(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM IParam,UINT fuFlags,UINT uTimeout,LPDWORD lpdwResultult);

SendMessageTimeout參數説明

hWnd:其窗口程序將接收消息的窗口的句柄。如果此參數為HWND_BROADCAST,則消息將被髮送到系統中所有頂層窗口,包括無效或不可見的非自身擁有的窗口。
Msg:指定被髮送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
fuFlags;指定如何發送消息。此參數可為下列值的組合:
SMTO_ABORTIFHUNG:如果接收進程處於“hung”狀態,不等待超時週期結束就返回。
SMTO_BLOCK:阻止調用線程處理其他任何請求,直到函數返回。
SMTO_NORMAL:調用線程等待函數返回時,不被阻止處理其他請求。
SMTO_NOTIMEOUTIFNOTHUNG:Windows 95及更高版本:如果接收線程沒被掛起,當超時週期結束時不返回。
uTimeout:為超時週期指定以毫秒為單位的持續時間。如果該消息是一個廣播消息,每個窗口可使用全超時週期。例如,如果指定5秒的超時週期,有3個頂層窗回未能處理消息,可以有最多15秒的延遲。
IpdwResult:指定消息處理的結果,依賴於所發送的消息。
返回值:如果函數調用成功,返回非零值。如果函數調用失敗,或超時,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。如果GetLastError返回ERROR_TIMEOUT,表明函數超時。如果使用HWND_BROADCAST,SenddMessaggTimeout不提供單個窗口超時信息。
速查: Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;輸入庫:user32.lib;Unicode:在Windows NT環境下以Unicode和ANSI方式實現。