Delen via


WM_CANCELJOURNAL bericht

Waarschuwing

Logboekhook-API's worden niet ondersteund vanaf Windows 11 en worden verwijderd in een toekomstige release. Daarom raden we u ten zeerste aan de SendInput TextInput-API aan te roepen.

Gepost in een toepassing wanneer een gebruiker de logboekactiviteiten van de toepassing annuleert. Het bericht wordt geplaatst met een NULL- venstergreep.

#define WM_CANCELJOURNAL                0x004B

Parameterwaarden

wParam-

Deze parameter wordt niet gebruikt.

lParam-

Deze parameter wordt niet gebruikt.

Retourwaarde

Type: ongeldige

Dit bericht retourneert geen waarde. Het is bedoeld om te worden verwerkt vanuit de hoofdlus van een toepassing of een GetMessage hookprocedure, niet vanuit een vensterprocedure.

Opmerkingen

Logboekrecord- en afspeelmodi zijn modi die worden opgelegd aan het systeem waarmee een toepassing sequentieel gebruikersinvoer kan opnemen of afspelen. Het systeem voert deze modi in wanneer een toepassing een JournalRecordProc of JournalPlaybackProc hook procedure installeert. Wanneer het systeem zich in een van deze logboekmodi bevindt, moeten toepassingen de invoer van de invoerwachtrij om de beurt lezen. Als een toepassing stopt met het lezen van invoer terwijl het systeem zich in een logboekmodus bevindt, worden andere toepassingen gedwongen te wachten.

Om ervoor te zorgen dat een robuust systeem niet meer reageert door een toepassing, annuleert het systeem alle logboekactiviteiten automatisch wanneer een gebruiker op Ctrl+Esc of Ctrl+Alt+DEL drukt. Het systeem maakt vervolgens alle logboekhookprocedures ongedaan en plaatst een WM_CANCELJOURNAL bericht, met een NULL- venstergreep, op de toepassing die de logboekhook instelt.

Het WM_CANCELJOURNAL bericht heeft een NULL- venstergreep, daarom kan het niet worden verzonden naar een vensterprocedure. Er zijn twee manieren waarop een toepassing een WM_CANCELJOURNAL bericht kan zien: als de toepassing wordt uitgevoerd in een eigen hoofdlus, moet het bericht worden onderscheppen tussen de aanroep naar GetMessage- of PeekMessage- en de aanroep naar DispatchMessage-. Als de toepassing niet wordt uitgevoerd in een eigen hoofdlus, moet deze een GetMsgProc hookprocedure instellen (via een aanroep naar SetWindowsHookEx- die het WH_GETMESSAGE haaktype opgeeft) waarmee het bericht wordt gecontroleerd.

Wanneer een toepassing een WM_CANCELJOURNAL bericht ziet, kan worden uitgegaan van twee dingen: de gebruiker heeft opzettelijk de logboekrecord of afspeelmodus geannuleerd en het systeem heeft al een logboekrecord of afspeelhookprocedures uitgeschakeld.

Houd er rekening mee dat de bovenstaande toetsencombinaties (Ctrl+Esc of Ctrl+Alt+DEL) ervoor zorgen dat het systeem logboekopname annuleert. Als een toepassing niet reageert, krijgt de gebruiker een herstelmiddel. De VK_CANCEL virtuele-sleutelcode (meestal geïmplementeerd als de toetsencombinatie Ctrl+BREAK) is wat een toepassing in de logboekrecordmodus moet zien als een signaal dat de gebruiker de logboekactiviteit wil annuleren. Het verschil is dat het kijken naar VK_CANCEL een voorgesteld gedrag is voor logboektoepassingen, terwijl Ctrl+ESC of Ctrl+Alt+DEL ervoor zorgt dat het systeem logboeken annuleert, ongeacht het gedrag van een logboektoepassing.

Vereisten

Voorwaarde Waarde
Minimaal ondersteunde client
Windows 2000 Professional [alleen desktop-apps]
Minimaal ondersteunde server
Windows 2000 Server [alleen desktop-apps]
Koptekst
Winuser.h (inclusief Windows.h)

Zie ook

Verwijzing

JournalPlaybackProc-

JournalRecordProc-

GetMsgProc-

SetWindowsHookEx-

Conceptuele

Hooks