- 博客(0)
- 资源 (1)
- 收藏
- 关注
hooksg(new)
学习hook的好例子,值得借鉴。
运用这种技术,实际上能够做到的远不止此!甚至可以Hook到其他程序中Form上的任意继承自TWinControl的窗口组件(有句柄)或其他非窗口组件(无句柄、可视或不可视)的内容,如以前DFW好象有个贴子就是问然后Hook其他程序的Label的内容的。要实现上面所说的,只要知道被Hook的Form的定义即可,而通常Delphi创建的程序,Form都会在EXE的资源部分,只需要通过一些资源查看工具提取出资源中Form定义内容即可。有了窗体的定义,我们在Hook DLL中同样声明一个这样的定义。如
type
TFormHack = class(TForm)
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Memo1: TMemo;
end;
这样我们通过FindControl找到Form的对象实例Form1,然后只需象TFormHack(Form1).Label1这样,就可以获取到Label1的实例啦。
另外,实际上我们也可以通过Form1.Components记录的Form1上的组件列表来进行Form1上的组件遍历,这种方式同样也可以得到Form1上的任意组件的实例。
2009-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人