【发布时间】:2011-01-29 13:29:47
【问题描述】:
我正在编写一个需要读取另一个 Delphi 程序上的数据字段的应用程序,但我无法访问第 3 方程序的源代码。数据字段包含我需要在我的应用程序中检索或创建的记录的“外键”。
如果有任何知识或组件的链接可以帮助我完成我的程序,我将不胜感激。
【问题讨论】:
-
您是如何从其他程序接收数据的?它是在以某种方式与你共享它,还是你试图直接查看它的地址空间并理解其中的内存?
我正在编写一个需要读取另一个 Delphi 程序上的数据字段的应用程序,但我无法访问第 3 方程序的源代码。数据字段包含我需要在我的应用程序中检索或创建的记录的“外键”。
如果有任何知识或组件的链接可以帮助我完成我的程序,我将不胜感激。
【问题讨论】:
我假设您正在尝试从另一个应用程序“屏幕抓取”文本字段。您可以使用 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));
【讨论】: