Mensagens e filas de mensagens
Esta seção descreve mensagens e filas de mensagens e como usá-las em seus aplicativos.
Nesta seção
Nome | 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 tarefas a seguir associadas a mensagens do Windows e filas de mensagens. |
Referência de mensagem | Contém a referência de API. |
mensagens System-Provided
Para obter listas das mensagens fornecidas pelo sistema, consulte Mensagens definidas pelo sistema.
Funções de mensagem
Nome | 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 for definida, use a função BroadcastSystemMessageEx . |
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. Essa função é semelhante a BroadcastSystemMessage , exceto que essa função pode retornar mais informações dos destinatários. |
Dispatchmessage | Envia uma mensagem para um procedimento de janela. Normalmente, ele é usado para expedir uma mensagem recuperada pela função GetMessage . |
GetInputState | Determina se há mensagens de botão do mouse ou de teclado na fila de mensagens do thread de chamada. |
GetMessage | Recupera uma mensagem da fila de mensagens do thread de chamada. A função despacha mensagens enviadas de entrada até que uma mensagem postada esteja disponível para recuperação. Ao contrário de GetMessage, a função PeekMessage não aguarda que uma mensagem seja postada antes de retornar. |
GetMessageExtraInfo | Recupera as informações adicionais da mensagem para o thread atual. Informações extras de mensagem são um valor definido pelo aplicativo ou pelo driver associado à fila de mensagens do thread atual. |
GetMessagePos | Recupera a posição do cursor para a última mensagem recuperada pela função GetMessage . Para determinar a posição atual do cursor, use a função GetCursorPos . |
GetMessageTime | Recupera o tempo da mensagem para a última mensagem recuperada pela função GetMessage . 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 de 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ção SendMessage . Para obter informações adicionais sobre como a mensagem foi enviada, use a função InSendMessageEx . |
InSendMessageEx | Determina se o procedimento de janela atual está processando uma mensagem que foi enviada de outro thread (no mesmo processo ou em um processo diferente). |
PeekMessage | Despacha mensagens enviadas de entrada, verifica a fila de mensagens de thread para uma mensagem postada e recupera a mensagem (se houver alguma). |
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ção PostThreadMessage . |
Postquitmessage | Indica ao sistema que um thread fez uma solicitação para encerrar (encerrar). Normalmente, ele é usado em resposta a uma mensagem de 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 tem a garantia de ser exclusiva em todo o sistema. O valor da mensagem pode ser usado ao enviar ou postar mensagens. |
ReplyMessage | Responde a uma mensagem enviada por meio da função SendMessage sem retornar o controle para a função que chamou SendMessage. |
SendAsyncProc | Uma função de retorno de chamada definida pelo aplicativo usada com a função SendMessageCallback . O sistema passa a mensagem para a função de retorno de chamada depois de passar a mensagem para o procedimento de janela de destino. O tipo 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 janela. 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 a função SendMessageCallback ou 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 janela. Ele chama o procedimento de janela para a janela especificada e retorna imediatamente. Depois que o procedimento de 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 mais uma janela. |
Sendnotifymessage | Envia a mensagem especificada para uma janela ou janela. Se a janela tiver sido criada pelo thread de chamada, SendNotifyMessage chamará o procedimento de janela para a janela e não retornará 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 de janela e retorna imediatamente; ele não aguarda que o procedimento de janela conclua o processamento da mensagem. |
SetMessageExtraInfo | Define as informações adicionais da mensagem para o thread atual. Informações extras de mensagem são um valor definido pelo aplicativo ou pelo driver associado à fila de mensagens do thread atual. Um aplicativo pode usar a função GetMessageExtraInfo para recuperar informações de mensagem extras de um thread. |
Translatemessage | Converte mensagens de chave virtual em mensagens de caractere. As mensagens de caractere são postadas na fila de mensagens do thread de chamada, para serem lidas na próxima vez que o thread chamar a função GetMessage ou PeekMessage . |
WaitMessage | Gera 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
Nome | 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 mensagens
Nome | Descrição |
---|---|
BSMINFO | Contém informações sobre uma janela que negou uma solicitação de BroadcastSystemMessageEx. |
MSG | Contém informações da mensagem da fila de mensagens do thread. |