共用方式為


Windows 中的 Windows Shell 程式庫

本主題概述 Windows 7 和更新版本的程式庫簡介。 程式庫是 Windows Shell 功能。 若要存取 Windows Shell 功能,例如程式庫,Windows 搜尋應用程式的協力廠商開發人員必須先實作 Shell 資料存放區。 如需詳細資訊,請參閱 實作基本資料夾物件介面

本主題的組織方式如下:

程式庫

在 Windows 7 和更新版本中,程式庫是使用者資料的預設存放庫。 使用者可以以相同的方式流覽其檔案,或者可以檢視依日期、類型和作者等屬性排列的檔案。 不同于資料夾,程式庫實際上不會儲存專案,而是同時顯示儲存在數個資料夾中的檔案。 程式庫會提供單一存取點和豐富的檢視樞紐給其匯總內容的使用者。 例如,如果使用者除了 [我的音樂 ] 資料夾之外,在外部磁片磁碟機上的資料夾中有音樂檔案,他們就能透過音樂媒體櫃立即存取所有音樂檔案。

使用者資料進入點

預設文件庫 (,例如 我的檔我的圖片等等,) 相當於 已知資料夾。 預設程式庫為使用者提供熟悉的進入點,但因為文件庫內容不限於已知資料夾內容庫,可讓使用者更自由地判斷應該儲存檔和媒體的位置。 程式庫會透過殼層命名空間公開, (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 等等)

Storage-Backed

程式庫是儲存資料夾的集合。 使用者可以直接將檔案儲存並複製到文件庫,因為每個文件庫都有預設的儲存位置,可將這些檔案傳送至其中。 對於預設文件庫,這是包含在文件庫中的使用者已知資料夾, (例如 [我的檔 ]) ,或新增至自訂文件庫的第一個資料夾。 這是當使用者將檔案拖放至文件庫或儲存至具有通用檔案對話方塊的程式庫時,檔案會移至該資料夾。 使用者可以隨時變更文件庫的預設儲存位置,但如果她移除預設儲存位置,則會選取文件庫中的下一個資料夾作為新的儲存位置。 使用者可以額外儲存至他們有權包含在文件庫中的任何資料夾。

非檔案系統殼層容器

程式庫可以包含檔案系統殼層容器,例如電腦主控台,但包含檔案系統專案。 您可以使用舊版作業系統中檔案系統檔案和資料夾的 API 來列舉和存取程式庫資料夾和內容。 如果您的應用程式高度相依于檔案系統特定 API,則可以使用 IShellLibrary API 來取得程式庫內資料夾和檔案的檔案系統路徑。 在大部分情況下,建議您使用 Shell 程式設計模型來支援多個 Windows 版本和專案彈性。 如需詳細資訊,請參閱 流覽殼層命名空間

程式庫描述

程式庫描述會儲存在磁片上做為 %appdata%Microsoft\Windows\Library 資料夾中的 XML 檔案, (且可能儲存為 FOLDERID_Libraries。 如需 FOLDERID_Libraries的詳細資訊,請參閱 KNOWNFOLDERID

程式庫描述檔案是副檔名為 .library-ms 的 XML 檔案。 應用程式不應存取或編輯這些檔案。 保存至文件庫描述檔案的資料夾路徑文字不一定是最新的。 程式庫資料夾會保存在已序列化二進位 殼層連結 格式的程式庫描述檔案中。 如需程式庫和程式庫描述架構的詳細資訊,請參閱 程式庫描述架構。 如需同盟搜尋連接器和搜尋連接器描述架構的詳細資訊, 請參閱搜尋連接器描述架構

[注意]
應用程式應該一律使用 Shell 程式設計模型或 IShellLibrary API 來取用及操作程式庫內容,且永遠不會嘗試手動存取或編輯程式庫描述檔案。

Windows 7 搜尋

Windows 7 搜尋的新功能

在 Windows 7 中編制優先順序和資料列集事件的索引