WM_CANCELJOURNAL消息
警告
从 Windows 11 开始,日志挂钩 API 不受支持,并将在将来的版本中删除。 因此,强烈建议改为调用 SendInput TextInput API。
当用户取消应用程序的日记活动时发布到应用程序。 消息使用 NULL 窗口句柄发布。
#define WM_CANCELJOURNAL 0x004B
参数
-
wParam
-
未使用此参数。
-
lParam
-
未使用此参数。
返回值
类型: void
此消息不返回值。 它旨在从应用程序的main循环或 GetMessage 挂钩过程中进行处理,而不是从窗口过程中进行处理。
注解
日记记录和播放模式是对系统施加的模式,允许应用程序按顺序录制或播放用户输入。 应用程序安装 JournalRecordProc 或 JournalPlaybackProc 挂钩过程时,系统会进入这些模式。 当系统处于上述任一日记模式时,应用程序必须轮流读取输入队列中的输入。 如果任何一个应用程序在系统处于日记模式时停止读取输入,则其他应用程序将被迫等待。
为了确保一个可靠的系统(任何一个应用程序都不能使系统无响应),当用户按 Ctrl+ESC 或 CTRL+ALT+DEL 时,系统会自动取消任何日记活动。 然后,系统会取消任何日记挂钩过程,并将具有 NULL 窗口句柄的WM_CANCELJOURNAL消息发布到设置日记挂钩的应用程序。
WM_CANCELJOURNAL消息具有 NULL 窗口句柄,因此无法将其调度到窗口过程。 应用程序可通过两种方式查看WM_CANCELJOURNAL消息:如果应用程序在其自己的main循环中运行,则必须在调用 GetMessage 或 PeekMessage 和调用 DispatchMessage 之间捕获该消息。 如果应用程序未在其自己的main循环中运行,则必须通过调用 SetWindowsHookEx 来设置 GetMsgProc 挂钩过程, (指定监视消息的WH_GETMESSAGE挂钩类型) 。
当应用程序看到 WM_CANCELJOURNAL 消息时,它可以假设两件事:用户有意取消了日记记录或播放模式,并且系统已经取消了任何日记记录或播放挂钩过程。
请注意,上述组合键 (CTRL+ESC 或 CTRL+ALT+DEL) 会导致系统取消日记。 如果任何一个应用程序无响应,它们会为用户提供恢复方式。 VK_CANCEL虚拟密钥代码 (通常实现为 ctrl+BREAK 组合键,) 处于日记记录模式的应用程序应watch作为用户希望取消日记活动的信号。 不同之处在于监视 VK_CANCEL 是日记应用程序的建议行为,而 CTRL+ESC 或 CTRL+ALT+DEL 会导致系统取消日记,而不考虑日记应用程序的行为。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
另请参阅