65.9K
CodeProject 正在变化。 阅读更多。
Home

在 Windows Explorer 的详细信息视图中显示文件夹大小信息

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.59/5 (67投票s)

2003年11月20日

CPOL

2分钟阅读

viewsIcon

458877

downloadIcon

13898

这段代码在 Explorer 的详细视图中显示文件夹大小信息。

Sample Image - DirSize.jpg

引言

在日常生活中,当你想知道一个文件夹的大小的时候,你必须右键单击文件夹名称并选择“属性”。使用这个 DLL,你可以将文件夹大小作为 Explorer 的一列显示,如图所示。我们还具有根据文件夹大小进行排序的功能。(我没有做任何排序,这是由 Explorer 完成的。:))

这个类实现了 Shell 接口,名为 IColumnProvider。使用这个接口,你可以自定义 Explorer 的详细视图。这个类在详细视图中添加了一列,显示合并的文件夹大小。

要构建这个项目,你必须安装 Microsoft Platform SDK,或者点击 这里 [53.5 KB] 下载 SHLOBJ.h

如何使用 DLL

好吧,如果你构建了项目,你不需要做任何事情,因为 IDE 会自动注册 DLL。如果下载了演示项目,则解压缩 DLL 并使用命令“regsvr32 <解压缩的 DLL 的路径>”进行注册。例如,如果 DLL 位于 C:,则为 Regsvr32 c:\DirSize.DLL

进一步改进的空间

这段代码可以修改为显示文件夹中的文件/文件夹数量。或者,你也可以将另外两个类打包,以显示文件数量和文件夹数量的列到同一个 DLL 中。

性能问题

当用户从 Explorer 上下文菜单中选择“文件夹大小”项时,Explorer 会通过遍历所有文件和嵌套文件夹来开始计算文件夹大小。第一次,根据文件夹的内容,可能需要几分钟。但是所有操作都在后台完成(Explorer 足够智能!..嗯)。所以这不会阻止你浏览其他文件。

© . All rights reserved.