首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

请问个VC鼠标钩子回调函数的有关问题

2012-11-04 
请教个VC鼠标钩子回调函数的问题!我想设一个全局钩子,屏蔽掉发送到指定进程的鼠标消息,请问怎么在鼠标钩子

请教个VC鼠标钩子回调函数的问题!
我想设一个全局钩子,屏蔽掉发送到指定进程的鼠标消息,请问怎么在鼠标钩子回到函数中判断当前钩到的鼠标消息是发送到哪个进程的?

[解决办法]
#pragma data_seg("ShareData")
DWORD g_dwTargetProcessId; //要屏蔽鼠标消息的进程ID
#pragma data_seg()

void SetTargetProcessId(DWORD dwProcessId)//导出这个函数,在安装鼠标钩子之前调用
{
g_dwTargetProcessId = dwProcessId;
}

LRESULT WINAPI MouseHookProc(int nCode,WPARAM wParam ,LPARAM lParam){

LPMOUSEHOOKSTRUCT lpMouse = (MOUSEHOOKSTRUCT FAR*)lParam;
DWORD dwProcessId;
::GetWindowThreadProcessId(lpMouse->hwnd, &dwProcessId);
if(dwProcessId == g_dwTargetProcessId)
return 0;
return CallNextHookEx(g_hMouseHook,nCode,wParam,lParam);
}

热点排行