如何获取其他程序中listview的内容?

netyou 2003-11-09 11:38:32
我想写一个程序获得另外一个程序里面的listview内容,另外的这个程序的句柄是可以得到的,listview这个控件的句柄也可以得到,但是就是不知道怎么得到它里面的内容,如果说是得到edit的文字倒是有办法,::SendMessage(Hwnd(), WM_GETTEXT, 20, (LPARAM)LoginName),可以用WM_GETTEXT的方法,但是listview不知道用什么办法?请高手赐教,不甚感激!
问题解决,一定加高分!
...全文
144 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2003-11-11
  • 打赏
  • 举报
回复
OpenProcess打开目标进程,用VirtualAllocEx在目标进程中开辟一块内存,用来存放用LVM_GETITEMTEXT读回的数据,然后用ReadProcessMemory将其读出。整个过程相对还是有些麻烦的。

我的MiniSpy 2.50目前就实现了这样的功能,包括从其他应用程序中读取TreeView,ListView的中的内容。比如:读取桌面上的所有图标的文字,读取目录树结构等。
netyou 2003-11-11
  • 打赏
  • 举报
回复
ccrun(老妖),那是SysListView32;
昨天到今天我写程序试了一下,也如你所说,单纯用发LVM_GETITEMTEXT消息是不行的,但是如果用杀入进程的方法我还不知道怎么用,呵呵!你有过这方面的开发吗?能给点经验或者资料吗?
ccrun.com 2003-11-11
  • 打赏
  • 举报
回复
vc里的ListCtrl的类名好象是SysListView32
netyou 2003-11-11
  • 打赏
  • 举报
回复
再次感谢ccrun(老妖)的启发和帮助
ccrun.com 2003-11-11
  • 打赏
  • 举报
回复
好的。有问题我们一起研究研究。
写信给我就行: info@ccrun.com
netyou 2003-11-11
  • 打赏
  • 举报
回复
呵呵,我刚才用了你的2.5版本的,读取目录树结构的功能也正是我想要实现的,不错!
好的,我会根据你的提示找一些这方面的资料,到时候如果有不懂的地方,我会用email或者QQ的方式和你留言,希望你能给我一些提示和指点,好吗?谢谢!
ccrun.com 2003-11-11
  • 打赏
  • 举报
回复
2.0的源码开放并没有给我后续的继续开发带来任何好处。所以后来我没有再公布源程序,再说这些东西也没有什么技术含量的。所以。。。。抱歉。
netyou 2003-11-11
  • 打赏
  • 举报
回复
呵呵,你的minispy大作2.0的源程序原来是开放源码的,我下载了,你说的新版本包括杀入进程读取目录树结构的功能,我去你网站看了,只提供了软件下载,没有提供源程序下载,所以也只能望而兴叹了,不知道你能不能提供这方面的代码给我学习学习,我将不甚感激!
不过你给了上面的一些提示,我也非常感谢了,到时候我查查这方面的资料!
leolmncn 2003-11-10
  • 打赏
  • 举报
回复
用钩子。先钩上再说。到它内部去处理,就可以用c++builder TListView控件的属性啦。
sfemil 2003-11-10
  • 打赏
  • 举报
回复
在MSDN中查询ListView_GetItemCount 便会得到这一类的处理宏

这批宏封装了ListView的处理消息,使用起来非常方便。
netyou 2003-11-10
  • 打赏
  • 举报
回复
想问一下vc里面的CListCtrl,在
控件句柄=FindWindowEx(父窗口句柄,NULL,控件的类名,NULL);
那么这个"控件的类名"用什么类呢,是"listctrl"吗?但是我试了一下,返回的句柄是空的,那么这个类是什么呢?
ccrun.com 2003-11-10
  • 打赏
  • 举报
回复
必须进入到目标进程中才可以。单纯用WM_GETTEXT消息是不行的。
netyou 2003-11-10
  • 打赏
  • 举报
回复
感谢各位提的各种建议,我试试看

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧