zoukankan      html  css  js  c++  java
  • windows Hook 消息分类

    调用SetWindowsHookEx的DLL的模块实例句柄,它可以经由DllMain入口的第一个参数得到。
    HHOOK SetWindowsHookEx( int idHook,
    HOOKPROC lpfn,
    HINSTANCE hMod,
    DWORD dwThreadId);
    至于SetWindowsHookEx的第四个参数dwThreadId,才是你需要借由窗口句柄得到的窗口线程ID,
    你可以通过下面的代码获得:
    DWORD dwThreadID = GetWindowThreadProcessId(hwnd, NULL);
    选择相应的消息钩子,比如
    WH_CALLWNDPROC//监视到达窗口前的消息
    WH_CALLWNDPROCRET//监视窗口处理后的消息
    WH_DEBUG//监视系统调用其他HOOK关联的HOOK子程
    WH_GETMESSAGE//监视发送到窗体消息队列里的消息
    WH_JOURNALPLAYBACK//全局HOOK,可以插入消息到消息队列
    WH_JOURNALRECORD//全局HOOK,监视输入事件(键盘、鼠标等)
    WH_KEYBOARD//键盘钩子
    WH_MOUSE//鼠标钩子
    WH_MSGFILTER//监视菜单、滚动条、消息框、对话框消息和切换窗口的组合键(Alt+Tab等)
    WH_SHELL//接收系统中重要的通知(如窗口被产生、摧毁等)


    http://blog.csdn.net/y281252548/article/details/51810260
  • 相关阅读:
    设计模式-状态模式
    设计模式-策略模式
    Spring MVC 梳理
    Spring MVC 梳理
    设计模式-总结
    Spring boot 梳理
    Spring boot 梳理
    [DP题]最长上升子序列
    NOIP2013 Day1
    20171025日程
  • 原文地址:https://www.cnblogs.com/findumars/p/6657408.html
Copyright © 2011-2022 走看看