为什么我这个简单的全局鼠标钩子,停止以后就无法启动了?大家帮忙看看
extern "C " LRESULT CALLBACK mouseproc(int code,WPARAM wparam,LPARAM lparam)
{
if(code <0)
return CallNextHookEx(hhook,code,wparam,lparam);
if(wparam==WM_LBUTTONDOWN)
{
mouseclickl++;
CPoint m_pPoint;
GetCursorPos(&m_pPoint);
point[0]=m_pPoint.x;
point[1]=m_pPoint.y;
}
return CallNextHookEx(hhook,code,wparam,lparam);
}
extern "C " bool WINAPI starthook()
{
hhook=SetWindowsHookEx(WH_MOUSE,mouseproc,pinstance,0);
if(hhook!=NULL)
return true;
else
{
return false;
}
}
extern "C " int WINAPI stophook()
{
point[0]=0;
point[1]=0;
return UnhookWindowsHookEx(hhook);
}
首次调用starthook()返回值为TRUE
调用stophook()以后再调用starthook(),返回值就为FALSE了,
奇怪
[解决办法]
帮顶一下
[解决办法]
调用GetLastError看一下错误代码
[解决办法]
这个确实要看看原因。
[解决办法]
http://blog.sina.com.cn/s/blog_4e5dcb9701000c43.html
自己收集的消息钩子代码,也许有点参考价值