Windows 中的 Windows Shell 库

本主题概述了适用于 Windows 7 及更高版本的库简介。 库是 Windows Shell 功能。 若要访问 Windows Shell 功能(如库),Windows 搜索应用程序的第三方开发人员必须首先实现 Shell 数据存储。 有关详细信息,请参阅 实现基本文件夹对象接口

本主题按如下所示进行组织:

图书馆

在 Windows 7 及更高版本中,库是用户数据的默认存储库。 用户可以像在文件夹中一样浏览其文件,也可以查看按日期、类型和作者等属性排列的文件。 与文件夹不同,库实际上不会存储项目,而是显示同时存储在多个文件夹中的文件。 库为聚合内容的用户提供单个接入点和丰富的视图透视。 例如,如果用户除了 “我的音乐” 文件夹外,在外部驱动器上的文件夹中还有音乐文件,则他们可以通过音乐库立即访问所有音乐文件。

用户数据入口点

默认库(如 我的文档我的图片等)等效于 已知文件夹。 默认库为用户提供熟悉的入口点,但由于库内容不限于已知文件夹内容库,因此用户可以更自由地确定应存储文档和媒体的位置。 库通过 Shell 命名空间(Shell 数据源)公开。 应用程序可以通过启用库感知和浏览,为用户提供与其数据相同的熟悉入口点。

文件夹集合

库是用户定义的内容集合。 当这些文件夹包含在库中时,Windows 搜索索引支持的文件夹。 这将在库中启用即时搜索和基于属性的堆栈排列视图。

库中支持的文件夹

若要在库中支持文件夹,这些文件夹必须在本地计算机上编制索引,并在远程 Windows 计算机上编制索引,或在具有由 Windows 搜索编制索引的文件的服务器上编制索引。

不支持的文件夹被 Windows 库管理对话框中的用户阻止添加。 如果使用 IShellLibrary API 将非索引远程文件夹添加到库,则库用户体验将还原为库 安全模式。 在 安全模式 功能(如基于属性的堆栈排列视图、筛选器建议和 开始菜单 搜索支持)将从受影响的库中删除。

下表列出了使用 Windows 资源管理器库管理对话框的库中包含的文件夹,以及 安全模式不支持的文件夹:

支持的文件夹 不支持的文件夹
固定和外部 NTFS 和 FAT32 硬盘驱动器 可移动驱动器(如拇指驱动器和 SD 卡)
由 Windows 搜索编制索引的共享(例如部门服务器以及运行 Windows 10 和 Windows 7 家庭版的计算机上) 可移动媒体(如 CD 和 DVD)
脱机可用的共享(如 重定向我的文档客户端缓存 既不可用也不远程编制索引的网络共享(例如 NAS 驱动器)
n/a 其他数据源(如 Microsoft SharePoint、Microsoft Exchange、Microsoft OneDrive 等)

存储支持

库是存储文件夹的集合。 用户可以将文件直接保存并复制到库,因为每个库都有默认的保存位置,以便将这些文件发送到库。 对于默认库,这是库中包含的用户已知文件夹(如“我的文档”),或添加到自定义库的第一个文件夹。 这是当用户将文件拖放到库或保存到具有公共文件对话框的库中时,文件将转到的文件夹。 用户可以随时更改库的默认保存位置,但如果删除默认保存位置,库中的下一个文件夹将选为新的保存位置。 用户还可以保存到他们有权访问该库的任何文件夹。

非文件系统 shell 容器

库可以包含文件系统 Shell 容器,例如 计算机控制面板,但包含文件系统项。 可以使用以前作系统中的文件系统文件和文件夹的 API 枚举和访问库文件夹和内容。 如果应用程序严重依赖于特定于文件系统的 API,则可以使用 IShellLibrary API 来获取库内文件夹和文件的文件系统路径。 在大多数情况下,建议使用 Shell 编程模型来支持多个 Windows 版本和项灵活性。 有关详细信息,请参阅 导航 Shell 命名空间

库说明

库说明在磁盘上保存为 %appdata%Microsoft\Windows\Libraries 文件夹中的 XML 文件(并可能另存为 FOLDERID_Libraries。 有关 FOLDERID_Libraries的详细信息,请参阅 KNOWNFOLDERID

库说明文件是文件扩展名为 .library-ms 的 XML 文件。 应用程序不应访问或编辑这些文件。 保存到库说明文件的文件夹路径文本并不总是最新的。 库文件夹保存在序列化的二进制文件 Shell 链接 格式的库说明文件中。 有关库和库说明架构的详细信息,请参阅 库说明架构。 有关联合搜索连接器和搜索连接器说明架构的详细信息,搜索连接器说明架构

[注意]
应用程序应始终使用 Shell 编程模型或 IShellLibrary API 来使用和作库内容,并且绝不会尝试手动访问或编辑库说明文件。

Windows 7 搜索

Windows 7 搜索 新增功能

Windows 7 中的索引优先级和行集事件