|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| No
| Import Library
| -
| Header File
| winuser.h
| Unicode
| No
| Platform Notes
| None
|
|
|
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 hook procedure, not from a window procedure.
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 or JournalPlaybackProc hook procedure. When the system is in either of these journaling modes,
applications must take turns reading input from the input queue. If any one
application stops reading input while the system is in a journaling mode, other
applications are forced to wait.
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 GetMessage or PeekMessage 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
DispatchMessage, GetMessage, JournalPlaybackProc, JournalRecordProc, GetMsgProc, PeekMessage, SetWindowsHookEx
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Sockets 2 Reference (sock2.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|