以一个简单的钩子程序为例,屏蔽所有键盘鼠标消息,按下F1停止钩子
#include<windows.h>
HHOOK hook,hook2;
LRESULT CALLBACK kbdProc(int code, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdShow,int iCmdLine)
{
HINSTANCE Hinstance;
Hinstance = GetModuleHandle(TEXT("user32.dll"));
if (Hinstance == NULL)
{
MessageBox(NULL, TEXT("没找到啊!"), TEXT("没找到"), 0);
}
hook=SetWindowsHookEx(WH_KEYBOARD_LL, kbdProc, Hinstance, NULL);
hook2 = SetWindowsHookEx(WH_MOUSE_LL, kbdProc, Hinstance, NULL);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnhookWindowsHookEx(hook);
UnhookWindowsHookEx(hook2);
return (int)msg.wParam;
}
LRESULT CALLBACK kbdProc(int code, WPARAM wParam, LPARAM lParam)
{
if (code != HC_ACTION)
{
return 1;
}
if (wParam == WM_LBUTTONDOWN ||