加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 列出现有对象以读取和更改其属性的理想方法是什么?

发布时间:2020-12-15 03:52:17 所属栏目:大数据 来源:网络整理
导读:我正在尝试在Delphi XE2中开发一个能够读取和更改不同应用程序之间的对象属性的应用程序. 目前,我们唯一的目标应用程序是在Delphi XE中开发的应用程序,我有源代码,在VB6中完成,我们没有源代码或信息. 我们正在寻找的主要对象是标签和编辑,但理想情况下,我需
我正在尝试在Delphi XE2中开发一个能够读取和更改不同应用程序之间的对象属性的应用程序.

目前,我们唯一的目标应用程序是在Delphi XE中开发的应用程序,我有源代码,在VB6中完成,我们没有源代码或信息.

我们正在寻找的主要对象是标签和编辑,但理想情况下,我需要设计一个对象查看器,列出每个对象及其属性,能够随意读取和更改它们,并调用方法.

我对如何这样做感到茫然,我得到的最好的是能够读取一些标签标题,基于读取VB应用程序上的缓冲区并直接使用内存分配,但即使这样也有它的局限性,因为它只能工作在WinXP中,而不是像预期的Windows 7.

什么是实现我想要的最好方法?如果最好的话,我愿意用不同的语言编写代码.

编辑:在做了一些研究之后,我发现了TestComplete,在其中,它有一个对象查看器,基本上可以列出/修改对象及其属性.
为了使目标不是使用第三个软件方来做到这一点,很明显这是可行的,但我迷失了. MSAA / IAutomation在一定程度上起作用,但两者都不能真正列出我所有的对象.

下面是几个屏幕,简要介绍它是如何工作的(使用第三方VB应用程序,为了安全起见,编辑了部分):

解决方法

除WinAPI之外,您还可以使用Microsoft Active Accessibility从其他窗口获取信息.这是一个小例子: http://blogs.msdn.com/b/oldnewthing/archive/2004/04/23/118893.aspx和delphi代码: http://www.transl-gunsmoker.ru/2009/08/blog-post.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读