在CPP中添加全局函数
LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam);LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LPMOUSEHOOKSTRUCT pMouseHook=(MOUSEHOOKSTRUCT FAR *) lParam; if ( nCode>=0 && ((CDCQApp *)g_App)->m_bGetMouseMsg )
{
switch( wParam )
{
case WM_LBUTTONDBLCLK: // 为什么不能截获鼠标左键双击的消息?
break;
}
} return CallNextHookEx( ((CDCQApp *)g_App)->m_hMouseHook, nCode, wParam, lParam );
}请问上面的程序为什么不能截获鼠标左键双击的消息?谢谢!
LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam);LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LPMOUSEHOOKSTRUCT pMouseHook=(MOUSEHOOKSTRUCT FAR *) lParam; if ( nCode>=0 && ((CDCQApp *)g_App)->m_bGetMouseMsg )
{
switch( wParam )
{
case WM_LBUTTONDBLCLK: // 为什么不能截获鼠标左键双击的消息?
break;
}
} return CallNextHookEx( ((CDCQApp *)g_App)->m_hMouseHook, nCode, wParam, lParam );
}请问上面的程序为什么不能截获鼠标左键双击的消息?谢谢!
case WM_LBUTTONUP:
case WM_RBUTTONDOWN:
case WM_RBUTTONUP:
case WM_MOUSEMOVE:这些消息都能响应!
{
case WM_LBUTTONDBLCLK:
MessageBox( NULL, "鼠标右键双击", "MouseHook", MB_OK );
break;
case WM_LBUTTONUP:
MessageBox( NULL, "鼠标左键弹起", "MouseHook", MB_OK );
break;
}这样写,鼠标左键双击后,也是弹出"鼠标左键弹起"的提示,真的搞不懂怎么回事,谢谢!
"你是不是把单击都过滤了,那根本就不会有双击了。"什么意思,没看懂呀!
"你是不是把单击都过滤了,那根本就不会有双击了。 "
说的是什么意思呀? 偶没看懂! 能详细点吗?谢谢!
有可能是说你是不是在你的程序里某一个地方把过滤了系统的消息.比如把鼠标的又击给过滤过了.不过我想你可以没有这么做,但是我在HOOK里好像是可以得到这个消息的,我在.NET的里调用API实现HOOK时就做成了.所以你最好再看看你的代码,或想一下其它的办法.
我的: [email protected]