【问题标题】:inspect delphi control object without modify source code在不修改源代码的情况下检查 delphi 控件对象
【发布时间】:2011-09-06 22:49:37
【问题描述】:

我有一个 Delphi 开发的 Stock 程序,我想要一个可以从 Stock 程序中读取数据的工具,例如 Delphi 网格对象中的股票价格。

正在测试的 Stock 程序是封闭源代码,因此没有机会修改 QTP/Robot 检查器所需的源代码。我不知道它使用的是哪个 Delphi 版本,也不是标准的 delphi 控件。

所以任何人都可以看出是否可以通过其他技术检查 delphi 程序对象数据?

提前致谢。

【问题讨论】:

    标签: delphi testing object inspector probe


    【解决方案1】:

    试图从 Delphi 网格控件中读取数据对您来说是行不通的。它不像标准的 Windows 编辑控件,您可以调用 GetWindowText。

    如果您真的想从这个现有程序中获取信息,那么您需要查看其内部存储器或在屏幕抓取上执行 OCR。想想都觉得很可怕。

    【讨论】:

      【解决方案2】:

      您可以使用Winsight之类的工具来查找程序窗口的结构,并使用FindWindow和EnumerateChildWindows来查找控件。然后您可以使用 GetWindowText api 来获取控件的文本。这适用于大多数控件,但可能不适用于所有人。例如 TLabel 控件没有句柄,但它自己绘制。它无法从中获取文本,并且不会显示在 WinSight 中。您必须对窗口进行 OCR 才能获取这些标签文本。 :p

      但是这个“测试”对我来说更像是“黑客”或“控制”,如果你甚至不知道使用了什么样的控件以及使用了哪个版本的 Delphi,为什么你要测试这个程序这边?

      【讨论】:

      • 我不是在测试这个股票程序,我只是想用计算机从股票程序中读取数据,然后运行股票程序不提供的过滤、排序、条件组合等附加查询,那就是全部。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 2017-11-20
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多