The SendMessageTimeout function sends the specified message to a window or windows. The function calls the window procedure for the specified window and, if the specified window belongs to a different thread, does not return until the window procedure has processed the message or the specified time-out period has elapsed. If the window receiving the message belongs to the same queue as the current thread, the window procedure is called directly ¾ the time-out value is ignored.
LRESULT SendMessageTimeout(
HWND hWnd, |
// handle of destination window |
UINT Msg, |
// message to send |
WPARAM wParam, |
// first message parameter |
LPARAM lParam, |
// second message parameter |
UINT fuFlags, |
// how to send the message |
UINT uTimeout, |
// time-out duration |
LPDWORD lpdwResult |
// return value for synchronous call |
); |
Value |
Meaning |
SMTO_ABORTIFHUNG |
Returns without waiting for the time-out period to elapse if the receiving process appears to be in a “hung” state. |
SMTO_BLOCK |
Prevents the calling thread from processing any other requests until the function returns. |
SMTO_NORMAL |
The calling thread is not prevented from processing other requests while waiting for the function to return. |
If the function succeeds, the return value is nonzero.
If the function fails or time out, the return value is zero. To get extended error information, call GetLastError. If GetLastError returns zero, then the function timed out. SendMessageTimeout does not provide information about individual windows timing out if HWND_BROADCAST is used.
InSendMessage, PostMessage, SendDlgItemMessage, SendMessage, SendMessageCallback, SendNotifyMessage