Mensagens e filas de mensagens
Esta seção descreve mensagens e filas de mensagens e como usá-las em seus aplicativos.
Nesta secção
Designação | Descrição |
---|---|
Sobre mensagens e filas de mensagens | Esta seção discute mensagens do Windows e filas de mensagens. |
Usando mensagens e filas de mensagens | Os exemplos de código a seguir demonstram como executar as seguintes tarefas associadas a mensagens do Windows e filas de mensagens. |
de referência de mensagem | Contém a referência da API. |
System-Provided Mensagens
Para obter listas das mensagens fornecidas pelo sistema, consulte System-Defined Mensagens.
Funções de mensagem
Designação | Descrição |
---|---|
BroadcastSystemMessage | Envia uma mensagem para os destinatários especificados. Os destinatários podem ser aplicativos, drivers instaláveis, drivers de rede, drivers de dispositivo no nível do sistema ou qualquer combinação desses componentes do sistema. Para receber informações adicionais se a solicitação estiver definida, use a funçãoBroadcastSystemMessageEx. |
BroadcastSystemMessageEx | Envia uma mensagem para os destinatários especificados. Os destinatários podem ser aplicativos, drivers instaláveis, drivers de rede, drivers de dispositivo no nível do sistema ou qualquer combinação desses componentes do sistema. Esta função é semelhante a BroadcastSystemMessage exceto que esta função pode retornar mais informações dos destinatários. |
DispatchMessage | Envia uma mensagem para um procedimento de janela. Normalmente é usado para enviar uma mensagem recuperada pelo função GetMessage. |
GetInputState | Determina se há mensagens de botão do mouse ou teclado na fila de mensagens do thread de chamada. |
GetMessage | Recupera uma mensagem da fila de mensagens do thread de chamada. A função envia mensagens recebidas enviadas até que uma mensagem postada esteja disponível para recuperação. Ao contrário GetMessage , a funçãoPeekMessage não espera que uma mensagem seja postada antes de retornar. |
GetMessageExtraInfo | Recupera as informações da mensagem extra para o thread atual. Informações de mensagem extra são um valor definido pelo aplicativo ou driver associado à fila de mensagens do thread atual. |
GetMessagePos | Recupera a posição do cursor para a última mensagem recuperada pela funçãoGetMessage. Para determinar a posição atual do cursor, use a função GetCursorPos. |
GetMessageTime | Recupera o tempo da última mensagem recuperada pela funçãoGetMessage. O tempo é um inteiro longo que especifica o tempo decorrido, em milissegundos, desde o momento em que o sistema foi iniciado até o momento em que a mensagem foi criada (ou seja, colocada na fila de mensagens do thread). |
GetQueueStatus | Indica o tipo de mensagens encontradas na fila de mensagens do thread de chamada. |
InSendMessage | Determina se o procedimento da janela atual está processando uma mensagem que foi enviada de outro thread (no mesmo processo ou em um processo diferente) por uma chamada para a funçãoSendMessage. Para obter informações adicionais sobre como a mensagem foi enviada, use a funçãoInSendMessageEx. |
InSendMessageEx | Determina se o procedimento da janela atual está processando uma mensagem que foi enviada de outro thread (no mesmo processo ou em um processo diferente). |
PeekMessage | Despacha mensagens enviadas recebidas, verifica se há uma mensagem postada na fila de mensagens de thread e recupera a mensagem (se houver). |
PostMessage | Posta uma mensagem na fila de mensagens associada ao thread que criou a janela especificada e retorna sem esperar que o thread processe a mensagem. Para postar uma mensagem na fila de mensagens associada a um thread, use a funçãoPostThreadMessage. |
PostQuitMessage | Indica ao sistema que um thread fez uma solicitação para encerrar (sair). Normalmente é usado em resposta a uma mensagem WM_DESTROY. |
PostThreadMessage | Posta uma mensagem na fila de mensagens do thread especificado. Ele retorna sem esperar que o thread processe a mensagem. |
RegisterWindowMessage | Define uma nova mensagem de janela que é garantidamente única em todo o sistema. O valor da mensagem pode ser usado ao enviar ou postar mensagens. |
ReplyMessage | Responde a uma mensagem enviada através da funçãoSendMessage dosem retornar o controle para a função chamada SendMessage. |
SendAsyncProc | Uma função de retorno de chamada definida pelo aplicativo usada com a funçãoSendMessageCallback. O sistema passa a mensagem para a função de retorno de chamada depois de passar a mensagem para o procedimento da janela de destino. O tipo de SENDASYNCPROC define um ponteiro para essa função de retorno de chamada.
SendAsyncProc é um espaço reservado para o nome da função definida pelo aplicativo. |
SendMessage | Envia a mensagem especificada para uma janela ou janelas. A função SendMessage chama o procedimento de janela para a janela especificada e não retorna até que o procedimento de janela tenha processado a mensagem. Para enviar uma mensagem e retornar imediatamente, use o SendMessageCallback ou função de SendNotifyMessage. Para postar uma mensagem na fila de mensagens de um thread e retornar imediatamente, use a função PostMessage ou PostThreadMessage. |
SendMessageCallback | Envia a mensagem especificada para uma janela ou janelas. Ele chama o procedimento de janela para a janela especificada e retorna imediatamente. Depois que o procedimento da janela processa a mensagem, o sistema chama a função de retorno de chamada especificada, passando o resultado do processamento da mensagem e um valor definido pelo aplicativo para a função de retorno de chamada. |
SendMessageTimeout | Envia a mensagem especificada para uma ou mais janelas. |
SendNotifyMessage | Envia a mensagem especificada para uma janela ou janelas. Se a janela foi criada pelo thread de chamada, SendNotifyMessage chama o procedimento de janela para a janela e não retorna até que o procedimento de janela tenha processado a mensagem. Se a janela foi criada por um thread diferente, SendNotifyMessage passa a mensagem para o procedimento da janela e retorna imediatamente; ele não espera que o procedimento da janela termine de processar a mensagem. |
SetMessageExtraInfo | Define as informações de mensagem extra para o thread atual. Informações de mensagem extra são um valor definido pelo aplicativo ou driver associado à fila de mensagens do thread atual. Um aplicativo pode usar a função GetMessageExtraInfo para recuperar as informações de mensagem extra de um thread. |
TranslateMessage | Traduz mensagens de chave virtual em mensagens de caracteres. As mensagens de caracteres são postadas na fila de mensagens do thread de chamada, para serem lidas na próxima vez que o thread chamar o GetMessage ou função PeekMessage. |
WaitMessage | Produz controle para outros threads quando um thread não tem outras mensagens em sua fila de mensagens. A função WaitMessage suspende o thread e não retorna até que uma nova mensagem seja colocada na fila de mensagens do thread. |
Constantes de mensagem
Designação | Descrição |
---|---|
OCM__BASE | Usado para definir mensagens privadas para uso por classes de janela privada. |
WM_APP | Usado para definir mensagens privadas. |
WM_USER | Usado para definir mensagens privadas para uso por classes de janela privada. |
Estruturas de Mensagem
Designação | Descrição |
---|---|
BSMINFO | Contém informações sobre uma janela que negou uma solicitação de BroadcastSystemMessageEx. |
MSG | Contém informações de mensagens da fila de mensagens de um thread. |