我用鼠标钩子屏蔽鼠标遇到奇怪的问题,高手来帮帮忙,高分100!!
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
//若已经挂上Hook链,则检测鼠标信息
if(nCode >= HC_ACTION ){
switch(wParam){
case WM_LBUTTONDOWN:
::UnhookWindowsHookEx(hHook);
MoveLine();//自定义的函数
return 1;
case WM_RBUTTONDOWN:
::UnhookWindowsHookEx(hHook);
MoveLine();
return 1;
case WM_MOUSEMOVE:
funs(); //自定义的函数
return 0;
//case WM_LBUTTONUP:
//::UnhookWindowsHookEx(hHook);
// MoveLine();
// return 1;
//case WM_RBUTTONUP:
//::UnhookWindowsHookEx(hHook);
// MoveLine();
// return 1;
default:
return CallNextHookEx(hHook,nCode,wParam,lParam);
}
}
else{
return CallNextHookEx(hHook,nCode,wParam,lParam);
}
}
上面那里有问题?鼠标是屏蔽了,但是本来按键后,就要卸掉钩子的,可是不会,只有击在Form1上才会,击在桌面上就不会,好像是::UnhookWindowsHookEx(hHook);
没有执行的样子,为什么? 我的钩子是全局的,不是点击在那里都一样吗?
又不是完全不行,起码在全局上屏蔽了鼠标的部分功能,高手请指点一下!!
问题解决马上给分!!!