鼠标钩子遇到的灵异事件
福尔摩丝 2012-06-03 04:40:50 LRESULT MouseEventProc ( UINT nCode, WPARAM wParam, LPARAM lParam )
{
if(nCode<0)
{
return ::CallNextHookEx(m_hMouseHook, nCode, wParam, lParam);
}
PMOUSEHOOKSTRUCT pms = PMOUSEHOOKSTRUCT(lParam);
//////// Section 1
if( pms->hwnd!=m_hWndMouseServer
&& ::GetParent(pms->hwnd)!=m_hWndMouseServer)
{
return TRUE
}
return ::CallNextHookEx(m_hMouseHook, nCode, wParam, lParam);
/////// End Section 1
}
安装钩子的调用 m_hMouseHook = SetWindowsHookEx( WH_MOUSE, (HOOKPROC)MouseEventProc,
m_hInstance, 0);
如果是一个全局鼠标钩子的回调函数,奇怪的是这样的代码只能钩到安装钩子进程的鼠标事件,其它鼠标事件一概收不到,但把Section 1 ... End Section 1直接返回为TRUE 整系统却又什么都不能做了,到底是怎么个情况?