Freigeben über


nachricht WM_CANCELJOURNAL

Warnung

Journal-Hooks-APIs werden ab Windows 11 nicht unterstützt und werden in einer zukünftigen Version entfernt. Aus diesem Gründen wird dringend empfohlen, stattdessen die SendInput TextInput-API aufzurufen.

Veröffentlicht in einer Anwendung, wenn ein Benutzer die Journalaktivitäten der Anwendung abbricht. Die Nachricht wird mit einem NULL- Fensterhandle gepostet.

#define WM_CANCELJOURNAL                0x004B

Die Parameter

wParam-

Dieser Parameter wird nicht verwendet.

lParam-

Dieser Parameter wird nicht verwendet.

Rückgabewert

Typ: void

Diese Nachricht gibt keinen Wert zurück. Sie soll aus der Hauptschleife einer Anwendung oder einer GetMessage Hook-Prozedur und nicht aus einer Fensterprozedur verarbeitet werden.

Bemerkungen

Journaldatensatz- und Wiedergabemodi sind Modi, die dem System auferlegt werden, die es einer Anwendung ermöglichen, benutzereingaben sequenziell aufzuzeichnen oder wiederzugeben. Das System wechselt in diese Modi, wenn eine Anwendung eine JournalRecordProc oder JournalPlaybackProc Hook-Verfahren installiert. Wenn sich das System in einem dieser Journalmodi befindet, müssen Anwendungen die Leseeingabe aus der Eingabewarteschlange übernehmen. Wenn eine Anwendung die Leseeingabe beendet, während sich das System im Journalmodus befindet, werden andere Anwendungen gezwungen, zu warten.

Um ein robustes System sicherzustellen, das nicht von einer Anwendung nicht reagiert werden kann, bricht das System automatisch alle Journalaktivitäten ab, wenn ein Benutzer STRG+ESC oder STRG+ALT+ENTF drückt. Das System hebt dann alle Journal-Hook-Prozeduren auf und sendet eine WM_CANCELJOURNAL Nachricht mit einem NULL- Fensterhandle an die Anwendung, die den Journal-Hook festgelegt hat.

Die WM_CANCELJOURNAL Nachricht verfügt über ein NULL- Fensterhandle, daher kann sie nicht an eine Fensterprozedur verteilt werden. Es gibt zwei Möglichkeiten, wie eine Anwendung eine WM_CANCELJOURNAL Nachricht anzeigen kann: Wenn die Anwendung in einer eigenen Hauptschleife ausgeführt wird, muss sie die Nachricht zwischen dem Aufruf von GetMessage oder PeekMessage- und dem Aufruf von DispatchMessageabfangen. Wenn die Anwendung nicht in einer eigenen Hauptschleife ausgeführt wird, muss sie eine GetMsgProc- Hook-Prozedur festlegen (über einen Aufruf von SetWindowsHookEx den WH_GETMESSAGE Hook-Typ angeben), der auf die Nachricht überwacht.

Wenn eine Anwendung eine WM_CANCELJOURNAL Nachricht sieht, kann es zwei Dinge annehmen: Der Benutzer hat den Journaldatensatz oder den Wiedergabemodus absichtlich abgebrochen, und das System hat bereits alle Journalaufzeichnungs- oder Wiedergabehakenprozeduren aufgehoben.

Beachten Sie, dass die oben genannten Tastenkombinationen (STRG+ESC oder STRG+ALT+ENTF) dazu führen, dass das System das Journaling abbricht. Wenn eine Anwendung nicht reagiert, geben sie dem Benutzer eine Möglichkeit zur Wiederherstellung. Der VK_CANCEL virtuellen Schlüsselcode (in der Regel als Tastenkombination STRG+BREAK implementiert) sollte eine Anwendung, die sich im Journaldatensatzmodus befindet, als Signal anzeigen, dass der Benutzer die Journalaktivität abbrechen möchte. Der Unterschied besteht darin, dass die Überwachung auf VK_CANCEL ein vorgeschlagenes Verhalten für Journalanwendungen ist, während STRG+ESC oder STRG+ALT+DEL dazu führen, dass das System das Journaling unabhängig vom Verhalten einer Journalanwendung abbricht.

Anforderungen

Anforderung Wert
Mindest unterstützter Client
Windows 2000 Professional [nur Desktop-Apps]
Unterstützter Server (Mindestversion)
Windows 2000 Server [nur Desktop-Apps]
Kopfzeile
Winuser.h (enthalten Windows.h)

Siehe auch

Referenz

JournalPlaybackProc

JournalRecordProc-

GetMsgProc-

SetWindowsHookEx-

Konzeptionelle

Hooks