如果要捕获某应用程序的所有输入消息,键盘和鼠标两个钩子都须安装吗?
还是有某一个钩子能合而为一???

解决方案 »

  1.   

    安装下面
    WH_CALLWNDPROC    发送到窗口的消息。由SendMessage触发
    WH_GETMESSAGE    发送到窗口的消息。GetMessage或PeekMessage触发
      

  2.   

    to laiyiling(※陌生人·坚持理想※) 
    是这两个HOOK都需要吗?好像任一个都可以满足我的要求。MSDN中说:WH_MOUSE也需要GetMessage or a PeekMessage 触发。
    但是我在具体实现时是直接在应用程序中启动HOOK,也可以实现。
    那是不是我只需要启动HOOK并指定需要监视的窗口的句柄,就可以实现。而不需要GetMessage or a PeekMessage 去触发呢??
      

  3.   

    我希望我的键盘钩子只捕获我指定程序的输入。
    可为什么所有键盘输入它都能捕获呢??
    定义如下:
    BOOL CKeyHook::starthook(HWND hWnd) 
    {...}
    调用处为:
    m_hook.starthook(pwnd->GetSafeHwnd() ); //这里指定需跟踪的进程
      

  4.   

    ?????????????????
    动态链接库DLL的使用是否和钩子函数是一样的呢??或者说DLL是钩子的一种实现方式??
    ?????????????????