如题,我用Spy刺探窗口发现窗口Send了一个WM_NCACTIVE消息,然后我用GetWindowThreadProcessId获取到窗口的ThreadId,
然后SetWindowsHookEx(WH_CALLWNDPROC,CallWndProc,NULL,ThreadId);
为这个ThreadId设置WH_CALLWNDPROC类型个钩子,
为什么获取不到WM_NCACTIVE消息呢

解决方案 »

  1.   

    SetWindowsHookEx(WH_CALLWNDPROC,CallWndProc,NULL,ThreadId); 
    ///SetWindowsHookEx(WH_GETMESSAGE,CallWndProc,NULL,ThreadId); 
      

  2.   

    你可以用全局钩子试试:
    HHOOK hHook = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, theApp.m_hInstance, 0);
    HHOOK hWndHook = SetWindowsHookEx(WH_CALLWNDPROC, GetWndMsgProc, theApp.m_hInstance, 0);另外这两种钩子的回调函数定义如下:
    LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam,  MSG* Message)
    LRESULT CALLBACK GetWndMsgProc(int nCode, WPARAM wParam,  CWPSTRUCT* Message)