我有一个由 Delphi 开发的 Stock 程序,我想要一个可以从 Stock 程序中读取数据的工具,例如 Delphi 网格对象中的股票价格。
正在测试的 Stock 程序是封闭源代码,因此没有机会修改 QTP/Robot 检查器所需的源代码。我无法分辨它使用的是哪个 Delphi 版本,该对象也不是标准的 delphi 控件。
所以任何人都可以看出是否可以通过其他技术检查该 delphi 程序对象数据?
提前致谢。
您可以使用 Winsight 之类的工具找出程序窗口的结构,并使用 FindWindow 和 EnumerateChildWindows 找到控件。然后您可以使用 GetWindowText api 来获取控件的文本。这适用于大多数控件,但可能不适用于所有人。例如 TLabel 控件没有句柄,但它自己绘制。它无法从中获取文本,并且不会显示在 WinSight 中。您必须对窗口进行 OCR 才能获取这些标签文本。:p
但是这种“测试”对我来说更像是“黑客”或“控制”,如果你甚至不知道使用了什么样的控件以及使用了哪个版本的 Delphi,为什么你要以这种方式测试这个程序?
试图从 Delphi 网格控件中读取数据对你来说是行不通的。它不像一个标准的 Windows 编辑控件,您可以在其上调用 GetWindowText。
如果您真的想从这个现有程序中获取信息,那么您需要戳它的内部存储器或在屏幕抓取上进行 OCR。想想都非常可怕。