HOOK函数应用(之键盘锁定)

 

          其实网上谈钩子(HOOK)函数的原理、应用已经很多拉。我对HOOK理解也是略知一、二,只是想写几句,自娱自乐,于是写了:

        目的:让键盘锁定一段时间,然后自动解锁。
  原理:利用全局钩子函数(键盘钩子)

1  创建动态连接库,代码:


//*****************************
//
    全局HOOK        
//        UnReal@2005-12-29 
//*****************************
#include "stdafx.h"
#pragma data_seg(
"mydata"
HANDLE        g_hand 
= NULL;
HINSTANCE    g_hMod 
= NULL;
HHOOK        g_hKeyHook 
= NULL;
#pragma data_seg() 

LRESULT CALLBACK KeyboardProc(
int code,
            WPARAM wParam,
            LPARAM lParam)

BOOL APIENTRY DllMain( HANDLE hModule, 
                     DWORD ul_reason_for_call, 
                     LPVOID lpReserved)

void test()        //测试函数

void SetHook(HANDLE hand)

void UnSetHook()

2 创建调用程序,代码:
System32.cpp

3   将第一步生成的HookDll.dll 复制到装载dll的可执行文件目录,运行exe文件。
  msdn上查查函数SetWindowsHookEx(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);设置idHook可以
        编写不同的钩子函数,有兴趣的朋友自己研究研究。
  呵呵^-^  上班时间,空了再写,再完善……

posted @ 2006-01-11 17:55  虚幻  阅读(510)  评论(0编辑  收藏  举报