VC:键盘钩子函数

1、创建一个Win32的动态链接库工程,在C++源文件中编写代码如下:

#include <windows.h>

HHOOK g_hKeyboard=NULL;

 

LRESULT CALLBACK KeyboardProc(

  int code,       // hook code

  WPARAM wParam,  // virtual-key code

  LPARAM lParam   // keystroke-message information

)

{

       return 1;

}

 

 

 

void SetHook()

{

       g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("KeyboardHook"),0);

}

2、添加头文件声明SetHook();

void SetHook();

3、添加一个模板定义文件(.def),并加载到工程。

内容如下:

; KeyboardHook.def : Declares the module parameters for the DLL.

 

LIBRARY      "KeyboardHook"

DESCRIPTION  'KeyboardHook Windows Dynamic Link Library'

 

EXPORTS

SetHook; Explicit exports can go here

4、编译、连接。

二、新建应用程序:使用DLL

1、将生成的DLL文件、Lib文件和test.h文件,复制到指定的目录下。并且在应用程序的.cpp文件中添加:#include "test.h"

2、隐式加载Win32 Dll文件。选择Project|Setting命令,在弹出的对话框中选择Link标签,在“Object/Library module”文本框中输入需要导入的库文件lib的文件名。注意lib的路径。

3、在OnInitDlg()函数中加入语句:

SetHook();

4、编译、连接、运行

posted @ 2013-03-02 23:29  慧由心生  阅读(2915)  评论(0编辑  收藏  举报