關於程式庫
本主題描述什麼是程式庫,以及他們如何為使用者和開發人員帶來好處。
程式庫是使用者定義的資料夾集合。 文件庫會追蹤每個資料夾的實體儲存位置,這可減輕該工作的使用者和軟體。 即使這些資料夾儲存在不同的硬碟或不同的電腦上,使用者也可以在文件庫中將相關資料夾群組在一起。
在程式庫中,資料夾和檔案會以單一集合的形式向使用者顯示,而且使用 Shell 程式庫 API,程式庫的內容也可以出現在程式的單一位置。
在文件庫中,使用者的檔、相片、視訊或音樂等內容可以依使用者想要排序和顯示,而不只是檔案系統所需的方式。 例如,使用者可以使用文件庫中專案的屬性來組織文件庫的內容,即使相關專案儲存在不同的資料夾中,相關專案也會一起排序。
本主題內容:
程式庫權益
本節說明使用者觀點和程式開發人員觀點中程式庫的一些優點。
使用者權益
將程式庫支援新增至您的程式,可為使用者提供下列優點:
程式庫在 Windows 7 中提供一致的使用者介面
通用檔案對話方塊支援程式庫,並提供與 Windows 7 中 Windows 檔案總管相同的使用者體驗。 在您的程式中支援程式庫有助於在 Windows 7 中使用程式時,為使用者提供更順暢的互動。
使用者決定儲存內容的位置
程式庫可讓使用者控制其內容儲存的位置。 同時,程式庫會為不想在其電腦中管理該詳細層級的使用者提供合理的預設值。 使用者決定想要對儲存內容的位置和方式進行多少或多少小控制,以及程式庫的運作方式。
開發人員權益
您可以使用程式中的程式庫來提供更有彈性且方便的使用者介面,而不需要新增許多複雜的程式碼。 新增程式庫支援的一些優點包括:
程式庫支援程式庫和檔案系統存取
使用 Shell 程式庫 API,程式可以為使用者提供程式庫支援,同時減少其檔案和資料夾管理程式碼的複雜度。 如果您的程式已經使用檔案系統 API,您可以從殼層連結 庫 API取得必要的檔案系統資訊,以盡可能保留大部分的現有程式碼,並且仍提供程式庫支援給使用者。
更簡單的變更通知
當受監視的資料夾或程式庫的內容變更時,檔案系統和殼層 API 都可以通知您的程式。 不過,使用殼層 API,您可以使用單一通知來監視程式庫中的所有資料夾,即使程式庫中的資料夾可能儲存在不同的磁片磁碟機或甚至不同的電腦上也一樣。
程式庫使用檔案屬性
程式可以使用檔案屬性來控制開啟期間顯示哪些檔案,以及使用通用檔案對話方塊的儲存作業。 程式也可以使用 IPropertyStore 介面來存取檔案屬性。 您也可以設定通用檔案對話方塊,讓使用者更新與其內容相關聯的屬性。
程式可以建立專用程式庫
當現有的使用者程式庫不符合程式的需求時,就可以建立新的程式庫,例如,如果程式建立新的使用者內容類型。 新的程式庫可以使用代表其內容的唯一圖示來設定,並讓程式庫更容易在 Windows 檔案總管中識別。
管理文件庫中的資料夾
使用者可以藉由新增、移動或移除文件庫中的資料夾來組織其文件庫。 不過,並非所有資料夾都支援程式庫可以提供的所有功能。 許多程式庫功能都需要快速存取資料夾的不同屬性及其內容,這些屬性只能透過 Windows 搜尋使用。 若要提供完整的程式庫功能,資料夾必須能夠由 Windows 搜尋編制索引。
程式庫不允許使用者新增未提供完整程式庫功能的資料夾。 不過, Shell 程式庫 API 可以新增這類資料夾。 如果文件庫包含不支援完整程式庫功能的資料夾,程式庫將會以安全模式運作,並提供有限的功能。 下表描述支援完整程式庫功能的資料夾,以及不支援的資料夾。
支援完整程式庫功能的資料夾類型 | 不支援完整程式庫功能的資料夾類型 |
---|---|
已修正和外部 NTFS 和 FAT32 硬碟。 | 卸載式磁片磁碟機,例如 USB 快閃磁片磁碟機或安全數位 (SD) 記憶卡。 |
由 Windows 搜尋服務編制索引的檔案共用,例如部門伺服器、Windows 7 或 Windows Vista 主機電腦。 | 卸載式媒體,例如 CD-ROM 或 DVD 媒體。 |
離線可用的檔案共用,例如重新導向的 [我的文件] 資料夾或Client-Side快取。 | 無法離線或遠端編制索引的網路共用,例如 NAS 磁片磁碟機。 |
其他資料來源,例如 Microsoft SharePoint、Microsoft Exchange 和 Microsoft OneDrive。 |
下圖顯示處於安全模式時,程式庫內容的有限顯示。
相關主題