SendMessageTimeout

A função SendMessageTimeout envia a mensagem especificada para uma janela ou janelas. A função chama o procedimento janela para a janela especificada e, se a janela especificada pertence a um segmento diferente, não retornará até que o procedimento de janela processou a mensagem ou o período de tempo limite especificado tiver decorrido. Se a janela recebe a mensagem pertencer a mesma fila como o thread atual, o procedimento de janela é chamado diretamente — o valor de tempo limite é ignorado.

 LRESULT SendMessageTimeout ( HWND  hWnd, / / identificador da janela de destinoUINTMsg, / / mensagens para enviarWPARAMwParam, / / primeiro parâmetro da mensagemLPARAMlParam, / / segundo parâmetro messageUINTfuFlags, / / como enviar a mensagemUINTuTimeout, / / duração do tempo limiteOutlpdwResult / / return valor para a chamada síncrona);
 

Parâmetros

hWnd
Identificador para a janela cujo procedimento janela irá receber a mensagem. Se este parâmetro é HWND_BROADCAST, a mensagem é enviada para todas as janelas de nível superior do sistema, incluindo janelas unowned invisíveis ou desativadas.
Msg
Especifica a mensagem a ser enviada.
wParam
Especifica informações message-specific adicionais.
lParam
Especifica informações message-specific adicionais.
fuFlags
Especifica como enviar a mensagem. Este parâmetro pode ser uma combinação dos seguintes valores:
Valor Significado
SMTO_ABORTIFHUNG Retorna sem esperar o período de tempo limite se o processo de recebimento parece estar em um Estado "suspenso".
SMTO_BLOCK Impede que qualquer outras solicitações de processamento até que a função retorna o thread de chamada.
SMTO_NORMAL O thread de chamada não está impedido de processar outras solicitações enquanto aguarda a função para retornar.
SMTO_NOTIMEOUTIFNOTHUNG Windows NT 5.0 e posterior: Não retorna quando ultrapassado o período de tempo limite se o segmento de recepção não congelar.

uTimeout
Especifica a duração, em milissegundos, do período de tempo limite. Se a mensagem é uma mensagem de difusão, cada janela pode-no tempo limite total. Por exemplo, se você especificar um período de tempo limite de 5 segundos e há três janelas de nível superior que falharem ao processar a mensagem, você poderia ter um atraso segundo 15.
lpdwResult
Especifica o resultado do processamento da mensagem e depende de mensagem enviada.

Retornar valores

Se a função for bem-sucedido, o valor de retorno é diferente de zero.

Se a função falhar ou o tempo limite, o valor de retorno é zero. Para informações de erro estendidas get, chamar GetLastError. Se GetLastError retorna zero, em seguida, a função tempo limite atingido fora. SendMessageTimeout não fornece informações sobre janelas individuais se HWND_BROADCAST é usado o tempo limite.

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Sem suporte.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Unicode:Implementado como versões Unicode e ANSI no Windows NT.

Ver também

Visão geral de filas de mensagens e mensagens, mensagens e funções de fila de mensagem, InSendMessage, PostMessage, SendDlgItemMessage, SendMessage, SendMessageCallback, SendNotifyMessage

Index