全局鼠标钩子问题。。。。。急
hMouseHook = SetWindowsHookEx(WH_MOUSE,(HOOKPROC)HookMouseProc,g_hHinstance,0);//
LRESULT CALLBACK HookMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult = CallNextHookEx(hMouseHook,nCode,wParam,lParam);
if (nCode == HC_ACTION )
{
MOUSEHOOKSTRUCT *struMouseHook=(MOUSEHOOKSTRUCT *)lParam;
switch (wParam)
{//
case WM_LBUTTONDOWN:
_KeyLog("[LB]",TRUE);
break;
}
}
return 0;
}
确定钩子正常安装后, WM_LBUTTONDOWN 消息有时钩得到,有时候又钩不到(在客户区点击都能钩到)
打开记事本程序和WORD, 在记事本和WORD客户区点鼠标左键, WM_LBUTTONDOWN 消息正常钩到了.
但是在记事本程序非客户区(任务栏上来回切换)点鼠标左键 WM_LBUTTONDOWN 消息却钩不到.
当记事本程序为当前 活动窗口的时候, 我向其它的窗口点击左键, 这时 WM_LBUTTONDOWN 消息也是钩不到的 ;
我在网上也看有人和我一样的问题。说要:建共享数据段和初始化0,我都试了,键盘消息都正常,唯独鼠标只能钩到客户区的。。 总之一句话:就是让每点一次左键,都能正常钩到。。。。。
谢谢大家了。。。小弟刚开始学的。。。。。搞了很久了。。。。