如何获得一个控件版本号? 假设有一个别人的EXE应用(无源码)使用了 VirtualTreeview 控件,我通过Hook获得了这个对象实例句柄,此时有没有什么方法能够得知这个EXE应用在编译时,使用的是什么版本的 VirtualTreeview ?换一个说法:就是 VirtualTreeview 对象在运行时有没有办法输出一个版本号(或能识别其版本的信息)?一般的VCL控件可以吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般的VCL控件是自己定义一个属性或方法,返回自己的一个版本号的常量 哦。vt是定义了一个全局的常量:const VTVersion = '4.8.6'; VTTreeStreamVersion = 2; VTHeaderStreamVersion = 6; // The header needs an own stream version to indicate changes only relevant to the header. 是的,但这个无法解决“如何辨别已有应用的vt里的版本号”的问题。另外,vt开源,目标应用的作者要是稍微自定义更改了类的属性、方法,那把所有vt发布过的版本都装一遍去试,也对不上。定义变了,对象内存布局也变化,即使用Hook中定义的vt变量去指向获得的目标应用中的对象地址,虽然首地址一样,但hook中定义的vt的内存结构与目标应用中不同(除了TControl等父类的相同,vt自己的属性方法就有不同了),调用就肯能出错了。我的目的只是想运行目标应用中vt的某个方法,比如selectAll,不知有何方法可实现? delphi令我感到恶心的问题 终于骗到了一颗星星,真怀念穿裤衩的日子啊**** 为何动态组件去不了? 求助:对调色板进行操作 200高分求教,相同代码,D7编译出来的没问题,D2007编译出来的运行就出错,怎么解决? 暈了,求助,想要分的解決了還可以再給! 本人是新手,刚学Delphi和SQL语言,现有以下问题想请教大家! ▲▲请问sendkey函数如何发送汉字?? 请教:我的这两个程序相差不大,为什么一个可以,一个不可以呢? 如何将动态创建的实例实现visio中对象的效果 关于Delphi+Excel获取行号的问题 设计下棋算法
VTVersion = '4.8.6';
VTTreeStreamVersion = 2;
VTHeaderStreamVersion = 6; // The header needs an own stream version to indicate changes only relevant to the header.
是的,但这个无法解决“如何辨别已有应用的vt里的版本号”的问题。另外,vt开源,目标应用的作者要是稍微自定义更改了类的属性、方法,那把所有vt发布过的版本都装一遍去试,也对不上。定义变了,对象内存布局也变化,即使用Hook中定义的vt变量去指向获得的目标应用中的对象地址,虽然首地址一样,但hook中定义的vt的内存结构与目标应用中不同(除了TControl等父类的相同,vt自己的属性方法就有不同了),调用就肯能出错了。
我的目的只是想运行目标应用中vt的某个方法,比如selectAll,不知有何方法可实现?