SendMessageTimeout函数将指定的消息发送到窗口或窗口。该函数调用指定窗口的窗口过程,如果指定的窗口属于不同的线程,则在窗口过程已处理该消息或指定的超时期限过去之前不会返回。如果接收到该消息的窗口属于与当前线程相同的队列,则直接调用窗口过程__忽略超时值。
LRESULT SendMessageTimeout
HWND 【的hWnd】, | //目标窗口的句柄 |
UINT 【消息】, | //要发送的消息 |
WPARAM 【wParam中】, | //第一个消息参数 |
LPARAM 【lParam的】, | //第二个消息参数 |
UINT 【fuFlags】, | //如何发送消息 |
UINT 【uTimeout】, | //超时时间 |
LPDWORD 【lpdwResult】 | //同步调用的返回值 |
); |
参数
【的hWnd】
标识窗口程序将接收消息的窗口。如果此参数为HWND_TOPMOST,则会将消息发送到系统中的所有顶级窗口,包括禁用或不可见的未知窗口。
【消息】
指定要发送的消息。
【wParam中】
指定附加的消息特定信息。
【lParam的】
指定附加的消息特定信息。
【fuFlags】
指定如何发送消息。此参数可以是以下值的组合:
值 | 含义 |
SMTO_ABORTIFHUNG | 如果接收进程似乎处于“挂起”状态,则不返回而不等待超时时间。 |
SMTO_BLOCK | 阻止调用线程处理任何其他请求,直到函数返回。 |
SMTO_NORMAL | 在等待函数返回时,不阻止调用线程处理其他请求。 |
【uTimeout】
指定超时期间的持续时间(以毫秒为单位)。
【lpdwResult】
指定消息处理的结果,并取决于发送的消息。
返回值
如果函数成功,返回值为TRUE。
如果函数失败,返回值为FALSE。要获取扩展错误信息,请调用GetLastError.
也可以看看
InSendMessage, PostMessage, SendDlgItemMessage, SendMessage, SendMessageCallback, SendNotifyMessage