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

为什么小弟我这个简单的全局鼠标钩子,停止以后就无法启动了?大家帮忙看看

2012-02-21 
为什么我这个简单的全局鼠标钩子,停止以后就无法启动了?大家帮忙看看externC LRESULTCALLBACKmouseproc(

为什么我这个简单的全局鼠标钩子,停止以后就无法启动了?大家帮忙看看
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

自己收集的消息钩子代码,也许有点参考价值

热点排行