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、编译、连接、运行