HOOK实例

#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <stdio.h>
HHOOK hHook;

LRESULT CALLBACK LLKeyBoardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
PKBDLLHOOKSTRUCT pkl = (PKBDLLHOOKSTRUCT)lParam;
TCHAR buffer[123];
if(nCode >= HC_ACTION
&& !(pkl->flags & 0x80)) {
sprintf(buffer, "你按下了%c键哦", pkl->vkCode);
MessageBox(NULL, buffer, TEXT("钩子"), MB_OK);
return TRUE;
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}

int main()
{
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LLKeyBoardProc, GetModuleHandle(NULL), 0);
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
DispatchMessage(&msg);
UnhookWindowsHookEx(hHook);
return 0;
}

 

posted @ 2013-08-23 10:27  lxdonge  阅读(170)  评论(0编辑  收藏  举报