如何显示shell对象列表?

时间:2011-08-29 01:08:01

标签: winapi atl windows-shell

我想在List View控件中显示一个shell项目的聚合,从不同的文件夹收集,类似于Explorer的文件搜索机制的工作原理

我有一种感觉,我需要使用IShellFolderView::AddObject,但整个界面都已弃用,无论哪种方式,我都无法弄清楚如何实现这一点。

我将如何做到这一点?

2 个答案:

答案 0 :(得分:1)

由于你坚持“获取”shell对象,我假设你没有使用列表视图控件,它需要你像CMFCShellListCtrl一样编写你自己的shell支持。如果您已编写代码以显示列表视图控件中单个文件夹中的文件,那么添加多个文件夹支持将非常简单。

如果您使用的是Explorer浏览器控件,请检查the Hilo project sample,它会创建一个搜索文件夹,其中包含用户库聚合的范围。您可以使用CLSID_EnumerableObjectCollection对象的IObjectCollection接口创建自己的文件夹集合。有关在Explorer Browser控件中显示搜索文件夹的示例,请查看Explorer Browser Search Sample

答案 1 :(得分:0)

如果它是你的listview控件,那么你可以只使用ListView_InsertItem。从任何地方枚举对象并将其添加到列表视图中。