可搜尋
使用 Windows Vista™ 開發人員技術尋找及共享資料
摘要:Windows Vista™ (之前的 Windows 程式碼名稱為 "Longhorn") 變更了使用者如何與其檔案、訊息及其他項目互動的方式。使用者不再受限於只能使用資料夾做為組織其內容的方法。Windows Vista 引進像是虛擬資料夾、堆疊、群組和篩選等概念,並為開發人員提供可索引和搜尋檔案類型或其他資料來源的方法。
身為開發人員,您要讓 Windows Vista 存取您應用程式檔案的內容與中繼資料所需做的事,就是撰寫屬性處理常式,以實作 Windows Vista 搜尋中繼資料管理介面。[Windows Vista 檔案總管] 利用這些屬性處理常式來搜尋和顯示使用像是清單提供者等功能的應用程式中繼資料,並預覽清單處理常式。除之此外,您可以使用屬性存取並查詢 API,以便在應用程式中實作內建搜尋功能。
利用嶄新的方法建立具有豐富圖像的使用者經驗且可真正展示工作成果的應用程式。
透過使用像是「使用者帳戶保護」和程式碼存取安全性等功能,來瞭解建立安全的應用程式有多麼容易。建立只擁有基本權限的應用程式,可減少風險並可讓使用者維護安全的 Windows 環境。i
瞭解使用一組新的 API 如何使得應用程式變得更可預測和更易於管理。增強的開發人員入口網站服務可協助您瞭解 Windows Vista 應用程式在實際部署中如何運作。
進入進階 Web 服務與對等網路技術的強大功能,以連線可支援使用者在辦公室、在家裡或在外工作的應用程式。
用比以前更好的方式來擷取和使用文件中的資料。新的 XML 檔案格式及共用的 RSS 存放區,可讓應用程式存取和提供使用者想要查看的資訊。
透過將應用程式所產生的文件和資料整合至搜尋中並組織經驗,讓使用者更容易地尋找資訊。
撰寫將應用程式檔案放在適當位置的安裝程式,而不用變更使用者的電腦,並確保一致的解除安裝經驗。
使用新功能來偵測網路和電力狀態。使用幾乎任何位置的檔案,並利用酷炫的新行動裝置之強大功能和技術。

Windows Vista 檔案總管屬性系統
已增強和擴充 [Windows Vista 檔案總管] 屬性系統。它的一些新功能如下:
- 豐富和可擴充的屬性描述系統,提供屬性資訊至 [檔案總管] (例如,顯示用以呈現屬性和在其上面操作所需的名稱及其他屬性)。
- 熟知的屬性類型之存貨清單。
- 使用者介面 (UI),可在不同的檢視 (例如清單檢視、預覽窗格、屬性對話方塊等等) 中編輯屬性。
- 屬性描述清單,它定義在不同檢視中顯示的屬性集合。
- 新的介面 (IPropertyStore),除了之前的唯讀屬性 (IFilter) 之外,還允許讀/寫屬性。一般而言,如果您沒有大型的全文檢索內容 (例如媒體檔案),您可以使用全文檢索內容屬性只實作 IPropertyStore,但仍然可提供全文檢索內容。
您可以撰寫自訂屬性處理常式、通訊協定處理常式來擴充中繼資料系統,甚至可讓系統使用非檔案系統的資料存放區。
在 Windows Vista 上產生的 [所有文件] 視窗看起來就像圖 1 所示。
圖 1 在 Windows Vista 中 [所有文件] 視窗的範例
請注意標題列。麵包屑清單顯示 [Brent Rector] > [虛擬資料夾]> [所有文件]。當您選取 [文件] 資料夾時,[Windows Vista 檔案總管] 會查詢系統以取得類型為「文件」的所有檔案清單。
查看橫跨 [所有文件] 顯示底部的預覽列。注意該列左端的圖形顯示。[Windows Vista 檔案總管] 可從文件本身取得此顯示的豐富縮圖。該圖是當使用者開啟文件時 Microsoft Excel 將顯示的縮圖版本。這將可協助更快地找到適當的檔案。
請注意該列也會顯示檔案的名稱,而且在檔案名稱下方是該特定檔案類型的易懂描述。在該列的中間及右邊,[檔案總管] 會顯示檔案的重要屬性。這些是 [預覽窗格] 之 [屬性清單] 中的前六個屬性。順序很重要。您也可以往上拖曳預覽窗格使其變大,這樣就可以看到該清單中的更多屬性 (按照順序)。
此外,使用者可以直接在 [檔案總管] 檢視中更新項目的屬性。對於非唯讀屬性,使用者可以按一下屬性值並直接修改其值。例如,使用者可以按一下關鍵字值並直接從 [所有文件] 視窗新增新關鍵字。或者,使用者可以顯示文件的屬性頁,並查看和編輯該文件的所有屬性。
下列範例展示 Windows Vista 中的「堆疊」功能。
圖 2 在 Windows Vista 中「堆疊」功能的範例
在圖 2 中,在左邊 (在瀏覽窗格中) 的藍色資料夾稱為「虛擬資料夾」,而黃色資料夾則是一般檔案系統的資料夾。當使用者按一下左欄中的 [依作者組織] 項目時,[Windows Vista 檔案總管] 會查詢系統以取得具有「作者」關鍵字值的所有項目。在範例中,有 24 份文件是由作者 Horatius 所製作。
現在讓我們看看您要如何將自己的文件類型整合至 Windows Vista 搜尋中並組織功能。在此範例中,我們將建立一個使用 ".invoice" 副檔名的新檔案類型,並將 ".invoice" 副檔名註冊為「文件」的檔案類型;接著我們將建立 ".invoice" 的範例檔案,並將它放在桌面上。圖 3 顯示產生的 [所有文件] 視窗。
圖 3 在 Windows Vista 中整合文件類型的範例
在此範例中,我們已選取範例 sample.invoice 檔案,並已為此新檔案類型實作屬性處理常式。因此,[檔案總管] 會顯示可用的屬性並讓使用者變更可寫的屬性。當使用者變更一或多個屬性時,這些變更會傳回給屬性處理常式,這樣它就可以將它們適當地寫入該發票檔中。空白文件會顯示在預覽區域中,因為屬性處理常式尚未提供文件的縮圖檢視。
所有的這些功能和更多的功能都可在一個架構上達成,這個架構提供可項目中之屬性的抽象存取功能。
回到頁首
全文檢索
假設您想要讓使用者能夠要求 [Windows Vista 檔案總管] 尋找所有包含特定產品採購的發票。很明顯地,該資訊是鎖定在發票檔內的某處,而 [檔案總管] 需要某種方式才能存取它。
基本上有兩種類型的資料存放區:檔案系統存放區與非檔案系統存放區。發票範例是簡單的檔案系統存放區。如果開發人為此新檔案類型提供 IPropertyStore 或 IFilter 介面的實作,[檔案總管] 就可以搜尋發票中的資訊。
如果您是使用非檔案系統存放區,您需要撰寫通訊協定處理常式,以允許 [檔案總管] 瀏覽資料存放區。通訊協定處理常式會將 [檔案總管] 連接至非檔案系統專用的資料存放區。這將允許 Windows 搜尋系統索引在存放區中的資料。例如,如果您有一個郵件用戶端儲存了收到的電子郵件之清單,您可以提供通訊協定處理常式,為每個個別的電子郵件提供索引和搜尋功能。通常為自訂資料來源建立新通訊協定處理常式的開發人員,也將會需要實作「檔案總管命名空間延伸模組」,以為顯示在 [檔案總管] 中的項目提供 UI,例如內容功能表處理常式、圖示等等。
回到頁首
擴充點
若要擴充 Windows Vista 檔案總管,開發人員需要做二件事:
- 提供對檔案格式與資料存放區的內部內容之存取。
這可讓 [檔案總管] 對檔案格式與資料存放區以及它本來就可辨識的檔案格式和資料存放區,執行系統搜尋。請注意這可讓 [檔案總管] 搜尋不只是檔案的全文檢索內容,還可搜尋其中繼資料。除此之外,您可以讓使用者輕易地變更檔案的中繼資料並將變更儲存回檔案,以組織其資料。圖 3 中的 sample.invoice 範例全部都是由實作屬性處理常式來完成。
- 在 [Windows Vista 檔案總管] 中為個別檔案提供豐富的縮圖檢視。
這可讓 [檔案總管] 直接從 [檔案總管] 檢視顯示檔案內容。
圖 4 在 Windows Vista 中檔案總管檢視的範例
回到頁首
開發應用程式
Windows Vista 支援在開發新應用程式時要使用的一些新 API。應用程式不應該將檔案路徑以硬式編寫的方式寫成「熟知」的位置。應該改用「已知的資料夾 API」。「已知的資料夾 API」可從資料夾功能擷取檔案系統的位置。這將允許像是資料夾重新導向等功能。當有「已知資料夾」在語意上相當於您所需的資料夾時,您應該使用此現有的資料夾,例如,儲存在 [文件] 中的 PDF 文件。否則,您的應用程式可以建立新的已知資料夾,例如,[3D Drawings]、[Shapes]、[Code Projects] 等等。
您可以使用新的 Windows Vista API 來查詢「Windows 搜尋引擎」中的項目。您的應用程式可以使用 Managed 或 Unmanaged 程式碼中的 OLEDB/ADO,以發出使用類似 SQL 語法的查詢。傳回時,您的應用程式會收到 OLEDB 資料集,其中資料欄會對應至「Windows 中繼資料系統」中的屬性,例如,System.Photo.FNumber。
您也可以使用統一的中繼資料層從某些檔案格式讀取中繼資料,或將中繼資料寫成某些檔案格式。您的應用程式可以列舉儲存在檔案中的屬性、探索系統中所描述的屬性描述 (結構描述) 並讀取和寫入屬性的值。
已經更新「通用檔案對話方塊」。它有一些新的 COM API。「通用檔案對話方塊」的一些新功能如下:
- 啟用每個應用程式的多個檢視狀態。
- 使用屬性執行下列動作:
- 升級應用程式相關的屬性。
- 設定屬性的預設值。
- 取得要儲存的屬性值。
- 提供豐富的事件集:FileOk、Help、SelectionChange、FolderChange、Overwrite等等。
「通用檔案對話方塊」也是可擴充的。您可以新增新控制項和變更對話方塊的配置。
回到頁首
結論
Windows Vista 可改善開發人員擴充搜尋基礎結構的能力,讓使用者能夠更輕易地組織、搜尋和視覺化其資料。這些是可協助開發人員為其使用者建立更豐富經驗的重大進展。
Windows Vista 在您提供屬性處理常式時,提供對自訂資料存放區 (中繼資料和全文檢索) 內容更完整的檢視和存取。許多已內建至系統中。Windows Vista 可在您提供縮圖提供者時為檔案呈現豐富的縮圖,而且有許多常見的檔案都會內建至系統中。
除此之外,Windows Vista 可讓應用程式開發人員使用和擴充系統的「已知資料夾」、對「Windows 搜尋引擎」發出查詢、透過統一層存取和更新檔案中繼資料,而不是為每個檔案類型撰寫自訂程式碼,並且合倂新的 UI在他們使用「通用檔案對話方塊」的應用程式中。
回到頁首
|