想取一个窗口里TStringGrid中的数据

来源:百度知道 编辑:UC知道 时间:2024/05/31 12:52:27
有个exe程序的窗口里有个用来显示数据的TStringGrid(用spy++查出来的)
我想自己编一个程序(vc或vb),把TStringGrid里的字符串读出来,得到它
该怎么做?
找到TStringGrid的句柄我会,主要是如何对它进行操作?
TStringGrid是个表格类似于LISTVIEW,想取出它某个个格中的数据

取一个窗口里TStringGrid中的数据

这个很难做到

如果是系统组件如ListCtrl等

可以使用Windows的消息来实现取数据

但是TStringGrid是Delphi中的一个类

有自己独特的数据结构

并且不是基于消息的

因此此法不可用

估计唯一的办法就是读取内存

分析数据的实际位置

这需要观察并分析内存状态

但是也未必有结果

而且不具有通用性

第三个办法就更难了

HOOK住屏幕输出的API

使组件屏幕位置重绘

截取实际输出

这样做本来的一点问题就是只能截取显示的部分

如果由于数据过长格内只显示了一小部分

是得不到全部数据的