VC:鼠标钩子函数
1、创建一个Win32的动态链接库工程,在C++源文件中编写代码如下:
#include <windows.h>
HHOOK g_hMouse=NULL;
LRESULT CALLBACK MouseProc(
int nCode, // hook code
WPARAM wParam, // message identifier
LPARAM lParam // mouse coordinates
)
{
return 1;
}
void SetHook()
{
g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,GetModuleHandle("MouseHook"),0);
}
2、添加头文件声明SetHook();
void SetHook();
3、添加一个模板定义文件(.def),并加载到工程。
内容如下:
LIBRARY "MouseHook"
EXPORTS
SetHook;//不带括号
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、编译、连接、运行