文件夹和文件对象

【勇芳软件工作室】汉化HomePreviousNext

A 【夹】是shell命名空间中的项目集合。一个文件夹类似于一个文件系统目录,许多文件夹实际上是目录。但是,还有其他类型的文件夹,如远程计算机,存储设备,桌面文件夹,控制面板,打印机文件夹和Fonts文件夹。文件夹可能包含其他文件夹以及名为【文件对象】的项目。文件对象可以是实际文件,也可以是控制面板应用程序,打印机或其他类型的对象。每种类型的文件夹只能包含某些类型的文件对象;例如,您无法将控制面板应用程序移动到文件系统目录中。

因为有多种文件夹和文件对象,每个文件夹都是一个OLE组件对象模型(COM)对象,它可以“知道”如何枚举其内容并执行其他操作。更准确地说,每个文件夹都实现了IShellFolder界面。检索shell文件夹的IShellFolder对象在文件夹中称为【捆绑】.绑定到文件夹的应用程序必须最终通过调用其发布成员函数来释放IShellFolder接口对象。

您可以使用SHGetDesktopFolder成员函数绑定到桌面文件夹(检索文件夹的IShellFolder界面)。您可以使用IShellFolder::EnumObjects成员函数枚举子文件夹。您可以使用IShellFolder::BindToObject成员函数绑定到任何给定文件夹的子文件夹。使用这三个函数,应用程序可以遍历整个shell的整个命名空间。