VC读写其他进程ListCtrl数据到本进程的实例,下面用Windows任务管理器来做测试:
1、捕获窗口句柄:
用SPY++可以看到如下父子窗口关系:
添加ListCtrl,设置style / Report、关联控件变量m_ListCtrl,再添加一个按钮,如下图:
2、相关代码:
读取文件列表:
3、程序运行效果:
4、程序不足:
A、在获取任务管理器“进程”标签内容时,因为有些列表项没有显示、即它的iSubItem项被设置隐藏(设置为0宽度即可),所以需要在“查看”/ “选择列”打开相关选项,不然你可能会觉得程序读错。(如果切换成“用户”标签则不会.)
B、在获取SysListView32句柄时,有些程序的ListCtrl某些列是可编辑的,这里我还没有搞明白为什么可编辑的没有获取到,比如像这样的:
(比如文件列表试图里,文件名是可以编辑的,获取这个又没有问题,这个编辑区域有点像个指定大小的EditBox,不知道这程序是如何重写的CListCtrl类,或是那个开源的项目,见过或用过的友友请说声哈!)
这种可编辑的ListCtrl内容该怎么获取,哪位兄弟知道的,麻烦你有空请告诉我一声吧!
详情请查看此贴:
http://www.codeproject.com/Messages/3244596/How-to-read-the-characters-in-the-EditTable-of-Sys.aspx