标题:如何在另一个应用程序的窗口中读取StringGrid内容?
我可以得到StringGrid的句柄
发布于 2014-07-15 10:10:17
Delphi字符串网格是一个纯VCL控件。不能使用windows消息读取其内容。您不能使用任何自动化API,因为Embarcadero没有也从来没有使它们的控件可访问。顺便说一句,这是他们的耻辱。
要做到这一点,唯一可行的方法就是通过粗野的黑客攻击。如果您知道控件的内存布局,就可以像调试器一样读取它的内存。使用对ReadProcessMemory的调用。然而,这将是异常混乱和难以实现的。
一种简单的方法是向目标进程注入一个DLL。只要您的DLL是使用与目标进程相同版本的Delphi构建的,您就有可能读出网格的内容。然后,您可以使用IPC将信息发送回另一个程序。
请注意,这些解决方案中没有一个是远程吸引人的。如果您能够找到一种更干净的方法来完成这一任务,可能会完全避免这个目标过程,那么您应该认真考虑它。
https://stackoverflow.com/questions/24754872
复制相似问题