其他应用程序中的Stringgrid内容

时间:2014-07-15 09:43:52

标签: delphi winapi delphi-7 tstringgrid

标题:如何在另一个应用程序的窗口中读取StringGrid内容?

我可以获得StringGrid的句柄

1 个答案:

答案 0 :(得分:1)

Delphi字符串网格是纯VCL控件。您无法使用Windows消息来阅读其内容。您不能使用任何自动化API,因为Embarcadero不会,也从未使其控件可访问。顺便说一下,对他们感到羞耻。

唯一可行的方法是通过彻底的黑客攻击。如果您知道控件的内存布局,则可以像调试器一样读取内存。使用对ReadProcessMemory的调用。但是,这将非常混乱,难以实现。

一种简单的方法是将DLL注入目标进程。只要您的DLL使用与目标进程相同的Delphi版本构建,您就有可能读出网格的内容。然后,您可以使用IPC将信息发送回其他程序。

请注意,这些解决方案都不具备远程吸引力。如果你能找到一种更清洁的方法,可能完全避免这个目标过程,那么你应该给予强烈的考虑。