消息钩子使用教程

豆豆网   技术应用频道   2006年12月01日  【字号: 收藏本文

本文详细介绍消息钩子使用教程

  9、WH_KEYBOARD_LL Hook

  WH_KEYBOARD_LL Hook监视输入到线程消息队列中的键盘消息。

  10、WH_MOUSE Hook

  WH_MOUSE Hook监视从GetMessage 或者 PeekMessage 函数返回的鼠标消息。使用这个Hook监视输入到消息队列中的鼠标消息。

  11、WH_MOUSE_LL Hook

  WH_MOUSE_LL Hook监视输入到线程消息队列中的鼠标消息。

  12、WH_MSGFILTER 和 WH_SYSMSGFILTER Hooks

  WH_MSGFILTER 和 WH_SYSMSGFILTER Hooks使我们可以监视菜单,滚动条,消息框,对话框消息并且发现用户使用ALT+TAB or ALT+ESC 组合键切换窗口。WH_MSGFILTER Hook只能监视传递到菜单,滚动条,消息框的消息,以及传递到通过安装了Hook子程的应用程序建立的对话框的消息。WH_SYSMSGFILTER Hook监视所有应用程序消息。

  WH_MSGFILTER 和 WH_SYSMSGFILTER Hooks使我们可以在模式循环期间过滤消息,这等价于在主消息循环中过滤消息。

  通过调用CallMsgFilter function可以直接的调用WH_MSGFILTER Hook。通过使用这个函数,应用程序能够在模式循环期间使用相同的代码去过滤消息,如同在主消息循环里一样。

  13、WH_SHELL Hook

  外壳应用程序可以使用WH_SHELL Hook去接收重要的通知。当外壳应用程序是激活的并且当顶层窗口建立或者销毁时,系统调用WH_SHELL Hook子程。

  WH_SHELL 共有5钟情況:

  1. 只要有个top-level、unowned 窗口被产生、起作用、或是被摧毁;

  2. 当Taskbar需要重画某个按钮;

  3. 当系统需要显示关于Taskbar的一个程序的最小化形式;

  4. 当目前的键盘布局状态改变;

  5. 当使用者按Ctrl+Esc去执行Task Manager(或相同级别的程序)。

  按照惯例,外壳应用程序都不接收WH_SHELL消息。所以,在应用程序能够接收WH_SHELL消息之前,应用程序必须调用SystemParametersInfo function注册它自己。

作者:姜山    责编:豆豆技术应用

正在加载评论...