我正在尝试在 Delphi XE2 中开发一个应用程序,该应用程序将能够读取和更改不同应用程序之间的对象属性。
目前,我们唯一的目标应用程序是一个用 Delphi XE 开发的,我有源代码,一个用 VB6 完成,我们没有源代码或信息。
我们正在寻找的主要对象是标签和编辑,但理想情况下,我几乎需要设计一个对象查看器,列出每个对象及其属性,能够随意读取和更改它们,并调用方法。
我不知道该怎么做,最好的办法是能够读取一些标签标题,基于读取 VB 应用程序上的缓冲区并直接使用内存分配,但即使这样也有它的局限性,因为它只能工作在 WinXP 中,而不是像预期的那样在 Windows 7 中。
实现我想要的最好方法是什么?如果最好的话,我愿意用不同的语言编写代码。
编辑:在做了更多研究之后,我发现了 TestComplete,在其中,它有一个对象查看器,基本上可以列出/修改对象及其属性。
目标不是使用第三方软件来做到这一点,很明显这是可行的,但我不知道如何做。MSAA/IAutomation 在一定程度上起作用,但两者都无法真正列出所有对象。
这里有几个屏幕简要展示了它是如何工作的(使用第 3 方 VB 应用程序,为安全起见已编辑部分):