您现在的位置:首页 >> 界面报表 >> 界面报表 >> 内容

Delphi利用钩子实现QQ聊天窗口的修改

时间:2011/9/3 15:24:43 点击:

  核心提示:当初公司做校园一卡通的项目时,里面的机房客户端需要用到系统的低级键盘钩子WH_KEYBOARD_LL, 这也是我第一次接触到Windows中的Hook,因为WH_KEYBOARD_LL和其他钩子不一样...

当初公司做校园一卡通的项目时,里面的机房客户端需要用到系统的低级键盘钩子WH_KEYBOARD_LL,
这也是我第一次接触到Windows中的 Hook,因为WH_KEYBOARD_LL和其他钩子不一样,在Delphi的Windows帮助
以及windows.pas文件中都没有定义,但 microsoft的msdn中确有WH_KEYBOARD_LL的介绍,所以一路解决后就对Windows的系统钩子产生了
兴趣。之后相继做过鼠标钩子 WH_MOUSE、低级鼠标钩子WH_MOUSE_LL以及消息钩子WH_GETMESSAGE的小例子,都很有意思。
  这次我用到的是另外一个系统钩子:WH_CBT。
  看了delphi中的帮助,发现CBTProc中有很多功能:
HCBT_ACTIVATE
HCBT_CreateWND
HCBT_DESTROYWND
HCBT_MINMAX
HCBT_MOVESIZE
HCBT_SETFOCUS
HCBT_SYSCOMMAND 
  (具体就不介绍了,看看帮助里写的很清楚)
  随后便开始试验起来,最终完成了这个小程序。下面我简单介绍一下:
  运行程序后自动隐藏,当你提取QQ或者MSN的消息时会惊奇的发现聊天窗口的那个讨厌的“与XX聊天”的标题没有了,
而标题换成了“我的文档”。这时如果你再将此聊天窗口的图标换成文档样式的图标,那么谁还能看出那就是你的聊天窗口呢?
(更换图标的方法也很多,可以用程序,也可以用软件直接修改QQ的资源文件,这部分我没有做,这里只是提供大家一个思路,
有兴趣的朋友可以自己尝试一下,呵呵)。
  下面将代码帖出:
library QQHook;
uses
  QQTitleHook in ’QQTitleHook.pas’, SysUtils, Classes;
exports EnableWheelHook, DisableWheelHook;
begin
  hkQQChat := 0;
end.

代码已经打包下载,调用的应用程序就很简单了,调用EnableWheelHook后隐藏就可以了,退出时DisableWheelHook就OK啦。



迅雷专用高速下载

作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号