为什么WH_GETMESSAGE全局钩子,不能拦截SendMessage函数发的消息

xjjxing 2004-03-04 10:19:00
__declspec(dllexport) BOOL setMyHook(HWND hWnd)
{

if(hWndServer != NULL)
return FALSE; // already hooked!
hook = SetWindowsHookEx(WH_GETMESSAGE,
(HOOKPROC)msghook,
hInst,
0);
if(hook != NULL)
{ /* success */
hWndServer = hWnd;
return TRUE;
} /* success */
return FALSE; // failed to set hook
} // setMyHook

static LRESULT CALLBACK msghook(UINT nCode, WPARAM wParam, LPARAM lParam)
{

if(nCode < 0)
{ /* pass it on */
CallNextHookEx(hook, nCode, wParam, lParam);
return 0;
} /* pass it on */

LPMSG msg = (LPMSG)lParam;

if(msg->message == WM_LBUTTONDBLCLK)
{

MessageBox(NULL,"ddd","copydata",MB_OK);
}

return CallNextHookEx(hook, nCode, wParam, lParam);
} // msghook

在exe里设置hook后,用鼠标双击可以拦截,显示消息框,但用SendMessage函数发WM_LBUTTONDBLCLK 消息就不行
...全文
215 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧