在MFC对话框上挂一个钩子,我想钩取对话框上的消息,如:WM_MOUSEMOVE,但是失败了,不知道问题出在哪,请高手帮忙看看。
//全局钩子句柄
HHOOK hhk;//钩子处理函数
LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
CWPSTRUCT* pCS = (CWPSTRUCT*)lParam;
if(pCS->message == WM_MOUSEMOVE)
{
AfxMessageBox("钩到鼠标移动消息!");
}
return ::CallNextHookEx(theApp.m_hhk, nCode, wParam, lParam);
}//在OnInitDialog中设置钩子
hhk = ::SetWindowsHookEx(WH_CALLWNDPROC, CallWndProc, NULL, ::GetCurrentThreadId());
//全局钩子句柄
HHOOK hhk;//钩子处理函数
LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
CWPSTRUCT* pCS = (CWPSTRUCT*)lParam;
if(pCS->message == WM_MOUSEMOVE)
{
AfxMessageBox("钩到鼠标移动消息!");
}
return ::CallNextHookEx(theApp.m_hhk, nCode, wParam, lParam);
}//在OnInitDialog中设置钩子
hhk = ::SetWindowsHookEx(WH_CALLWNDPROC, CallWndProc, NULL, ::GetCurrentThreadId());
hhk = ::SetWindowsHookEx你把他改到某个button的响应函数中试试
hhk = ::SetWindowsHookEx
SetWindowsHookEx(WH_MOUSE,
另外不要在mousemove中messagebox,用buttondown试试
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000004e
msg=0x00000014
msg=0x00000135
msg=0x0000004e
msg=0x0000004e
msg=0x0000000e
msg=0x0000000d
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x0000004e
msg=0x00000014
msg=0x00000135
msg=0x0000004e
msg=0x0000004e
msg=0x0000000e
msg=0x0000000d
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000004e
msg=0x00000014
msg=0x00000135
msg=0x0000004e
msg=0x0000004e
msg=0x0000000e
msg=0x0000000d
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000020
msg=0x00000020
msg=0x0000036a
msg=0x00000084
msg=0x00000021
msg=0x00000021
msg=0x00000020
msg=0x00000020
msg=0x00000087
msg=0x000000f3
msg=0x00000135
msg=0x0000004e
msg=0x0000004e
msg=0x0000000e
msg=0x0000000d
msg=0x0000036a
msg=0x000000f3
msg=0x00000215
msg=0x00000111
msg=0x00000008
msg=0x00000287
msg=0x00000281
msg=0x00000281
msg=0x00000281
msg=0x00000287
msg=0x00000281
msg=0x00000281
msg=0x00000281
msg=0x00000007
msg=0x00000046
msg=0x00000047
msg=0x00000046
msg=0x00000002
msg=0x00000002
msg=0x00000002
msg=0x00000002
msg=0x00000002
msg=0x00000082
msg=0x00000002
msg=0x00000082
msg=0x00000082
msg=0x00000082
msg=0x00000082但是用spy++就能看到mousemove之类的消息