HOOK.CPP
HHOOK g_hKeyboard;
#pragma data_seg(".share")
HWND hwnd_target=NULL;
#pragma data_seg()
#pragma comment(linker,"/section:.share,RWS")
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("hook.Dll"),0);
}
void UnHook()
{
UnhookWindowsHookEx(g_hKeyboard);
}
HOOK.DEF
编译成dll,如hook.dll
使用的时候,首先将hook.dll文件和hook.lib文件拷贝到程序目录下,然后在程序里挂载.dll或者.lib文件(如果不是动态链接的话)
然后在dll函数声明前添加一条语句
#pragma comment(lib,"hook.lib")
这一步非常重要,比较容易忽略
该指令将一个注释记录放入一个对象文件或可执行文件中。
常用的lib关键字,可以帮我们连入一个库文件。
声明DLL函数(*)
_declspec(dllimport) TYPE FUNCTION(PAREMETERS);
TYPE:函数反回值类型
FUNCTION:函数名
PAREMETERS:形式参数列表
接下来便可以调用相应的DLL函数了