JournalRecordProc

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

JournalRecordProc挂接过程是一个回调函数,用于记录系统从系统消息队列中删除的消息。之后,应用程序可以使用JournalPlaybackProc挂钩过程来播放消息。

LRESULT CALLBACK JournalRecordProc(

INT 【码】,//钩子代码
WPARAM 【wParam中】,//未定义
LPARAM 【lParam的】//正在处理的邮件的地址
); 

参数

【码】

指定如何处理消息。此参数可以是以下值之一:

含义
HC_ACTION【lParam的】参数指向EVENTMSG结构,其中包含有关从系统队列中删除的消息的信息。挂钩过程必须通过将结构复制到缓冲区或文件来记录结构的内容。
HC_SYSMODALOFF系统模式对话框已被破坏。挂钩过程必须重新开始记录。
HC_SYSMODALON系统模式对话框正在显示。在对话框被破坏之前,挂钩过程必须停止录制。

如果【码】小于零,挂钩过程必须将消息传递给CallNextHookEx函数,无需进一步处理,并应返回CallNextHookEx返回的值。

【wParam中】

指定一个NULL值。

【lParam的】

指向包含要记录的消息的EVENTMSG结构。

返回值

返回值被忽略。

备注

JournalRecordProc挂接过程必须复制而不能修改消息。挂钩过程将控制权返回给系统后,消息将继续处理。

应用程序通过在SetWindowsHookEx函数的调用中指定WH_JOURNALRECORD挂钩类型和挂接过程的地址来安装JournalRecordProc挂接过程。

一个Win32 JournalRecordProc挂钩过程不需要生活在动态链接库中。一个Win32 JournalRecordProc钩子过程可以在应用程序本身中生存。

与大多数其他全局挂钩过程不同,JournalRecordProcJournalPlaybackProc钩子过程总是在设置钩子的线程的上下文中调用。

安装了JournalRecordProc挂接过程的应用程序应该注意VK_CANCEL虚拟键码(在大多数键盘上实现为CTRL + BREAK组合键)。该虚拟键码应由应用程序解释为用户希望停止日记录的信号。应用程序应该通过结束记录顺序和删除JournalRecordProc挂钩过程进行响应。清除是很重要的。它可以防止日志记录应用程序通过挂在挂钩过程中来锁定系统。

作为停止日志记录的信号的作用意味着本身不能记录CTRL + BREAK组合键。由于CTRL + C组合键不具有记录信号的作用,因此可以进行记录。还有两种其他组合无法记录:CTRL + ESC和CTRL + ALT + DEL。这两个关键组合会导致系统停止所有日志活动(记录或播放),删除所有日记挂钩,并将WM_CANCELJOURNAL消息发布到日记应用程序。

JournalRecordProc是应用程序定义或库定义的函数名称的占位符。

也可以看看

CallNextHookEx, EVENTMSG, JournalPlaybackProc, SetWindowsHookEx, WM_CANCELJOURNAL