WM_CANCELJOURNAL

【勇芳软件工作室】汉化HomePreviousNext

当用户取消应用程序的日记活动时,WM_CANCELJOURNAL消息会发布到应用程序。该消息以NULL窗口句柄发布。

WM_CANCELJOURNAL

wParam = 0; //未使用,必须为零

lParam = 0; //未使用,必须为零

参数

此消息没有参数。

返回值

此消息不返回值。它意在从应用程序的主循环或GetMessage挂接过程中处理,而不是从窗口过程进行处理。

备注

日志记录和回放模式是系统上施加的模式,使应用程序顺序地记录或播放用户输入。当应用程序安装JournalRecordProcJournalPlaybackProc挂接过程时,系统进入这些模式。当系统处于这些日志记录模式时,应用程序必须轮流读取输入队列中的输入。如果任何一个应用程序在系统处于日志记录模式时停止读取输入,则其他应用程序将被迫等待。

为了确保一个强大的系统,一个不能被任何一个应用程序挂起的系统,当用户按CTRL + ESC或CTRL + ALT + DEL时,Windows NT会自动取消任何日志活动。系统然后解除任何日志挂钩过程,并向设置日记记录钩子的应用程序发送带有NULL窗口句柄的WM_CANCELJOURNAL消息。

由于WM_CANCELJOURNAL具有NULL窗口句柄,因此无法将其分派到窗口过程。应用程序有两种方式可以查看WM_CANCELJOURNAL消息:如果应用程序在自己的主循环中运行,则必须在调用GetMessagePeekMessage之前捕获消息,并调用DispatchMessage.如果应用程序没有在自己的主循环中运行,则必须设置GetMsgProc挂接过程(通过调用指定WH_GETMESSAGE钩子类型的SetWindowsHookEx)来监视该消息。

当应用程序看到WM_CANCELJOURNAL消息时,可以假设两件事情:用户有意地取消了日记记录或播放模式,并且系统已经解除了任何日记记录或回放挂机过程。

请注意,上述组合键(CTRL + ESC或CTRL + ALT + DEL)使系统取消日志。如果任何一个应用程序被挂起,它们给用户一种恢复的方法。VK_CANCEL虚拟键码(通常实现为CTRL + BREAK键组合)是日志记录模式下应该注意的应用程序作为用户希望取消日志记录活动的信号。不同的是,观看VK_CANCEL是日志记录应用程序的建议行为,而CTRL + ESC或CTRL + ALT + DEL会导致系统取消日志记录,而不管应用程序的行为如何。

也可以看看

DispatchMessage, GetMessage, JournalPlaybackProc, JournalRecordProc, GetMsgProc, PeekMessage, SetWindowsHookEx