【问题标题】:Delphi, read data from 3rd party data fieldDelphi,从第 3 方数据字段读取数据
【发布时间】:2011-01-29 13:29:47
【问题描述】:

我正在编写一个需要读取另一个 Delphi 程序上的数据字段的应用程序,但我无法访问第 3 方程序的源代码。数据字段包含我需要在我的应用程序中检索或创建的记录的“外键”。

如果有任何知识或组件的链接可以帮助我完成我的程序,我将不胜感激。

【问题讨论】:

  • 您是如何从其他程序接收数据的?它是在以某种方式与你共享它,还是你试图直接查看它的地址空间并理解其中的内存?

标签: delphi hook


【解决方案1】:

我假设您正在尝试从另一个应用程序“屏幕抓取”文本字段。您可以使用 FindWindow 获取该窗口的句柄,然后在子窗口中挖掘以找到您正在寻找的控件(WinDowse by Greatis 将非常有助于手动探索)。最后,向拥有数据的控件发送 WM_GetText 消息。以下是如何执行此操作的示例:About.Com article on digging and scraping with Internet Explorer.

编辑:天啊! WM_GetText 已经用 windows.pas 中定义的 GetWindowText 函数包装在 VCL 中。例如:

GetWindowText(Wnd, PC, sizeof(PC));

【讨论】:

  • 不幸的是,这仅在相关控件具有 Windows 句柄时才有效。使用 WinSpy++ (catch22.net/software/winspy) 之类的东西来调查控件是否有句柄,如果有,控件的属性是什么。
  • 没有句柄,我想你只剩下 OCR 了。
  • Greatis.com 的链接已损坏或网站已关闭(?)
  • “这里”在哪里?我按照你网站的链接没有看到链接。重试了您回答中的链接,但它不起作用。
  • www.greatis.com/windowse.htm 或谷歌:greatis windows 我去那里看到它,我发誓......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 2016-10-18
  • 2018-04-15
  • 1970-01-01
相关资源
最近更新 更多