编程论坛
注册
登录
编程论坛
→
Delphi论坛
如何取得第三方程序列表控件中TdxTreeList的内容?
后天花园
发布于 2010-03-04 20:06, 2478 次点击
我有一个程序
想得到另一个用dephi写的程序中的
"TDXTreeList"的文字内容
应该怎么做?
谢先了!
5 回复
#2
mohao163
2010-03-05 12:46
什么意思,读取别的程序中的内容么?先用findwindow函数获取那个程序句柄,然后再用一个API找到里边的TdxTreeList控件,具体哪个API我也不记得了,要看到自己的代码才行。你可以百度下
如果两个程序都是你写的,你可以用消息的方式在两个程序中通信
#3
后天花园
2010-03-05 22:44
回复 2楼 mohao163
有TdxTreeList控件的那个程序不是我写的,是别人的程序。
-----------------------------------------------------------------------------
我是用FindWindow(...) API 来得到控件窗口的句柄的。
对于标准的控件很容易得到其中的内容。譬如,对于CEdit控件:
HWND hEditView = ::FindWindowEx(hWnd, NULL, "Edit", NULL);
CEditView EditView;
EditView.Attach(hEditView);
char szBuf[200] = {0};
CEdit& theEdit = EditView.GetEditCtrl();
::SendMessage(theEdit.m_hWnd, WM_GETTEXT,100,(DWORD)szBuf); //
MessageBox(szBuf);
EditView.Detach();
-----------------------------------------------------------------------------
Dephi 的 TdxTreeList是由多个类派生出来的,用上面或其他的方法无法取得内容。
不知道应该如何作。
[
本帖最后由 后天花园 于 2010-3-5 22:46 编辑
]
#4
mohao163
2010-03-06 15:31
这个我也不清楚了,好久没这么做了。要我做的话也和你思路差不多,你用VC里面那个什么工具查看窗体类了也不能获取么?你去搜一下QQ尾巴原理,应该是差不多的技术
#5
后天花园
2010-03-06 18:07
回复 4楼 mohao163
恩。好象和QQ尾巴有点像,但有不完全一样。
QQ窗口用的是ATL技术,还是可以枚举子窗口的。
而TdxTreeList下面就再没有子窗口了,像TPanel, TStringGrid,根据网上说也没有正规的办法得到其中的内容?
#6
mohao163
2010-03-09 11:17
这个不知道了,TdxTreeList貌似不是默认控件,是第三方的。没有用过,不知道它继承的是什么类
1