如何替换其它exe中的控件(100)

  • 主题发起人 主题发起人 soitun
  • 开始时间 开始时间
S

soitun

Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过进程注入,用自定义的控件替换目标程序的控件,高手指教呀
 
替换目标程序中的控件,你必须先释放目标程序中的控件,然后再根据刚刚释放的控件的类型以及一些属性(释放前需要把这些内容保存在变量中),重新创建控件;因为控件的Class无法更改,所以只能这样。但问题来了,即使你实现了这一步骤,目标程序也无法正常运行,举例来说,我新建一个工程,Form1和form2,form2中有一个Button1:TButton,其Click事件为 Caption:=Button1.Caption;假设你在form1中可以通过某个功能,把Form2中的Button1重新用TBitBtn创建,你会发现,Button1事件不能被正确执行了,因为Form2中的变量Button1对应的控件已经被释放了,后期创建的控件地址并没有赋值给Button1变量。这是我以前试验的结果。
 
znxia的不可行,因为要求是——其它exe中的控件g一下subclass、GetWindowLong和SetWindowLong........
 
我用znxia的方法替换了目标程序的一个按钮,是可行的
 
后退
顶部