【问题标题】:Stringgrid content in other application其他应用程序中的 Stringgrid 内容
【发布时间】:2014-07-15 09:43:51
【问题描述】:

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

我可以得到 StringGrid 的句柄

【问题讨论】:

  • 字符串网格不是 Windows 控件,所以忘记 Windows 消息传递。
  • 您可以访问这两个应用程序的源代码吗?你确定它是一个字符串网格,甚至其他应用程序是用 Delphi 编写的吗?
  • 我无权访问其他应用程序的源代码。但是,其他应用程序是用 Delphi 5.0 编写的,我确定

标签: delphi winapi delphi-7 tstringgrid


【解决方案1】:

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

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

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

请注意,这些解决方案都没有吸引力。如果你能找到一种更简洁的方法来做到这一点,可能完全避免这个目标进程,那么你应该认真考虑。

【讨论】:

  • 您需要更多帮助吗?
  • 你能给我举个例子吗?请
  • 没有。这是一项非常复杂的任务。你需要付钱给我,让它值得花时间。为什么不试试呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 2012-06-05
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多