WM_CANCELJOURNAL
The
WM_CANCELJOURNAL message is posted to an application when a user cancels the
application s journaling activities. The message is posted with a NULL window
handle.
WM_CANCELJOURNAL
wParam = 0; // not used, must be zero
lParam = 0; // not used, must be zero
Parameters
This message
has no parameters.
Return Values
This message
does not return a value. It is meant to be processed from within an
application s main loop or a GetMessage
Remarks
Journal
record and playback modes are modes imposed on the system that let an
application sequentially record or play back user input. The system enters
these modes when an application installs a JournalRecordProc
To ensure a
robust system, one that cannot be hung up by any one application, Windows NT
automatically cancels any journalling activities when a user presses CTRL+ESC or CTRL+ALT+DEL. The
system then unhooks any journaling hook procedures, and posts a
WM_CANCELJOURNAL message, with a NULL window handle, to the application that
set the journaling hook.
Since the
WM_CANCELJOURNAL has a NULL window handle, it cannot be dispatched to a window
procedure. There are two ways for an application to see a WM_CANCELJOURNAL
message: If the application is running in its own main loop, it must catch the
message between its call to GetMessage0X9XXX and its call to DispatchMessage . If the application is not
running in its own main loop, it must set a GetMsgProc hook procedure (via a call
to SetWindowsHookEx
specifying the WH_GETMESSAGE hook type) that watches for the message.
When an
application sees a WM_CANCELJOURNAL message, it can assume two things: the user
has intentionally cancelled the journal record or playback mode, and the system
has already unhooked any journal record or playback hook procedures.
Note that the
key combinations mentioned above (CTRL+ESC or CTRL+ALT+DEL) cause the system to cancel journaling. If any one
application is hung, they give the user a means of recovery. The VK_CANCEL
virtual keycode (usually implemented as the CTRL+BREAK key combination) is what an application that is in
journal record mode should watch for as a signal that the user wishes to cancel
the journaling activity. The difference is that watching for VK_CANCEL is a
suggested behavior for journaling applications, whereas CTRL+ESC or CTRL+ALT+DEL
cause the system to cancel journalling regardless of a journalling
application s behavior.
See Also