Partilhar via


WM_CANCELJOURNAL mensagem

Advertência

As APIs de ganchos de registro no diário não são suportadas a partir do Windows 11 e serão removidas em uma versão futura. Por isso, é altamente recomendável chamar a SendInput TextInput API.

Postado em um aplicativo quando um usuário cancela as atividades de registro no diário do aplicativo. A mensagem é postada com um identificador de janela de NULL.

#define WM_CANCELJOURNAL                0x004B

Parâmetros

wParam

Este parâmetro não é usado.

lParam

Este parâmetro não é usado.

Valor de retorno

Tipo: vazio

Esta mensagem não retorna um valor. Destina-se a ser processado a partir do loop principal de um aplicativo ou de um procedimento de ganchoGetMessage, não de um procedimento de janela.

Observações

Os modos de gravação e reprodução de diário são modos impostos ao sistema que permitem que um aplicativo grave ou reproduza sequencialmente a entrada do usuário. O sistema entra nesses modos quando um aplicativo instala um JournalRecordProc ou procedimento de gancho de JournalPlaybackProc. Quando o sistema está em qualquer um desses modos de registro no diário, os aplicativos devem se revezar na leitura da entrada da fila de entrada. Se algum aplicativo parar de ler a entrada enquanto o sistema estiver no modo de registro no diário, outros aplicativos serão forçados a esperar.

Para garantir um sistema robusto, que não pode deixar de responder por nenhum aplicativo, o sistema cancela automaticamente todas as atividades de registro no diário quando um usuário pressiona CTRL+ESC ou CTRL+ALT+DEL. Em seguida, o sistema desconecta todos os procedimentos de gancho de registro no diário e posta uma mensagem de WM_CANCELJOURNAL, com um identificador de janela de NULL, no aplicativo que define o gancho de registro no diário.

A mensagem WM_CANCELJOURNAL tem um identificador de janela de NULL, portanto, não pode ser despachada para um procedimento de janela. Há duas maneiras de um aplicativo ver uma mensagem WM_CANCELJOURNAL: Se o aplicativo estiver sendo executado em seu próprio loop principal, ele deverá capturar a mensagem entre sua chamada para GetMessage ou PeekMessage e sua chamada para DispatchMessage. Se o aplicativo não estiver sendo executado em seu próprio loop principal, ele deverá definir um GetMsgProc procedimento de gancho (por meio de uma chamada para SetWindowsHookEx especificando o tipo de gancho WH_GETMESSAGE) que monitora a mensagem.

Quando um aplicativo vê uma mensagem WM_CANCELJOURNAL, ele pode assumir duas coisas: o usuário cancelou intencionalmente o registro de diário ou o modo de reprodução e o sistema já desconectou qualquer registro de diário ou procedimentos de gancho de reprodução.

Observe que as combinações de teclas mencionadas acima (CTRL+ESC ou CTRL+ALT+DEL) fazem com que o sistema cancele o registro no diário. Se algum aplicativo deixar de responder, eles dão ao usuário um meio de recuperação. O código de chave virtual VK_CANCEL (geralmente implementado como a combinação de teclas CTRL+BREAK) é o que um aplicativo que está no modo de registro de diário deve observar como um sinal de que o usuário deseja cancelar a atividade de registro no diário. A diferença é que observar VK_CANCEL é um comportamento sugerido para aplicativos de registro no diário, enquanto CTRL+ESC ou CTRL+ALT+DEL fazem com que o sistema cancele o registro no diário, independentemente do comportamento de um aplicativo de registro no diário.

Requerimentos

Requisito Valor
Cliente mínimo suportado
Windows 2000 Professional [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado
Windows 2000 Server [apenas aplicações de ambiente de trabalho]
Cabeçalho
Winuser.h (inclui Windows.h)

Ver também

Referência

JournalPlaybackProc

JournalRecordProc

GetMsgProc

SetWindowsHookEx

Conceptual

Ganchos