如何处理钩子捕获的键盘消息和鼠标消息?高手进

来源:百度知道 编辑:UC知道 时间:2024/05/31 21:09:31
我在一个程序中安装了2个钩子,WH_KEYBOARD和WH_MOUSE,其处理函数为:
LRESULT WINAPI HookKEYPro( int nCode, WPARAM wParam,LPARAM lParam)
LRESULT WINAPI HookMOUSEPro( int nCode, WPARAM wParam,LPARAM lParam)
可是我不会处理里面的消息,比如在键盘消息的处理中,我想知道如何屏蔽(吃掉)’Tab’键,’WIN’键
在鼠标消息的处理中,如何吃掉左键单击和双击消息,
请高手代为补全函数代码,深表感谢!

LRESULT WINAPI HookKEYPro( int nCode, WPARAM wParam,LPARAM lParam)
{
if(nCode==HC_ACTION)
if(wParam==VK_RWIN||wParam==VK_LWIN||wParam==VK_TAB)
return 1;
return CallNextHookEx(hhk,nCode,wParam,lParam);//hhk是HHOOK类型的变量,是由SetWindowsHookEx函数返回的,你应该把这个变量保存起来,用在这个地方。
}
LRESULT WINAPI HookMOUSEPro( int nCode, WPARAM wParam,LPARAM lParam)
{
if(nCode==HC_ACTION)
{
if(wParam==WM_LBUTTONDOWN||wParam==WM_LBUTTONUP||wParam==WM_LBUTTONDBLCLK)
return 1;
}
return CallNextHookEx(hhk,nCode,wParam,lParam);
}

#include "stdafx.h"
#include "tchar.h"
#define _MAX_PATH MAX_PATH

#pragma data_seg(".SHARDAT")
static HHOOK g_hkb = NULL;
#pragma data_seg()

///////////////////////////////////
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved