WM_CANCELJOURNAL message

Avertissement

Les API de crochets de journalisation ne sont pas prises en charge à partir de Windows 11 et seront supprimées dans une version ultérieure. Pour cette raison, nous vous recommandons vivement d’appeler l’API SendInput TextInput à la place.

Publié dans une application lorsqu’un utilisateur annule les activités de journalisation de l’application. Le message est publié avec un handle de fenêtre NULL .

#define WM_CANCELJOURNAL                0x004B

Paramètres

wParam

Ce paramètre n'est pas utilisé.

lParam

Ce paramètre n'est pas utilisé.

Valeur retournée

Type : void

Ce message ne retourne pas de valeur. Il est destiné à être traité à partir de la boucle main d’une application ou d’une procédure de crochet GetMessage, et non à partir d’une procédure de fenêtre.

Notes

Les modes d’enregistrement de journal et de lecture sont des modes imposés au système qui permettent à une application d’enregistrer ou de lire séquentiellement les entrées utilisateur. Le système entre dans ces modes lorsqu’une application installe une procédure de crochet JournalRecordProc ou JournalPlaybackProc . Lorsque le système est dans l’un de ces modes de journalisation, les applications doivent lire à tour de rôle les entrées de la file d’attente d’entrée. Si une application cesse de lire l’entrée alors que le système est en mode journalisation, d’autres applications sont obligées d’attendre.

Pour garantir un système robuste, qui ne peut pas être mis hors de réponse par une application, le système annule automatiquement toutes les activités de journalisation lorsqu’un utilisateur appuie sur Ctrl+Échap ou CTRL+ALT+SUPPR. Le système détache ensuite toutes les procédures de crochet de journalisation et publie un message WM_CANCELJOURNAL , avec un handle de fenêtre NULL , sur l’application qui définit le hook de journalisation.

Le message WM_CANCELJOURNAL a un handle de fenêtre NULL . Il ne peut donc pas être distribué à une procédure de fenêtre. Il existe deux façons pour une application d’afficher un message WM_CANCELJOURNAL : si l’application s’exécute dans sa propre boucle main, elle doit intercepter le message entre son appel à GetMessage ou PeekMessage et son appel à DispatchMessage. Si l’application ne s’exécute pas dans sa propre boucle main, elle doit définir une procédure de crochet GetMsgProc (via un appel à SetWindowsHookEx spécifiant le type de crochet WH_GETMESSAGE) qui surveille le message.

Lorsqu’une application voit un message WM_CANCELJOURNAL , elle peut supposer deux choses : l’utilisateur a intentionnellement annulé l’enregistrement de journal ou le mode de lecture, et le système a déjà décoché les procédures d’enregistrement de journal ou de crochet de lecture.

Notez que les combinaisons de touches mentionnées ci-dessus (CTRL+ÉCHAP ou CTRL+ALT+SUPPR) entraînent l’annulation de la journalisation par le système. Si une application ne répond plus, elle donne à l’utilisateur un moyen de récupération. Le code de clé virtuelle VK_CANCEL (généralement implémenté en tant que combinaison ctrl+touche BREAK) est ce que doit watch une application en mode enregistrement de journalisation comme signal que l’utilisateur souhaite annuler l’activité de journalisation. La différence est que l’observation des VK_CANCEL est un comportement suggéré pour les applications de journalisation, tandis que CTRL+ÉCHAP ou CTRL+ALT+SUPPR entraînent l’annulation de la journalisation par le système, quel que soit le comportement d’une application de journalisation.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winuser.h (y compris Windows.h)

Voir aussi

Référence

JournalPlaybackProc

JournalRecordProc

GetMsgProc

SetWindowsHookEx

Conceptuel

Hooks