ADVERTISEMENT
在先前的文章我們找到了媒體櫃的定義檔,一不做二不休,直接打開來看看裡面賣什麼藥。注意,你得進入媒體櫃的實體資料夾,而不是點選檔案總管上的捷徑,才可以開啟實際的「.library-ms」檔。開頭的路徑「%appdata%」是個環境變數,先將它輸入檔案總管的位址列當中,回傳系統裡實際的特殊資料夾之後,再依序瀏覽至「Microsoft\Windows\Libraries」即可。
既然媒體櫃定義檔是XML文件,透過記事本、小作家之類的編輯程式就可以打開。不過可能是微軟不允許手動編輯檔案的緣故,直接在檔案上按右鍵選擇程式會打不開,你得先開啟編輯程式,再把定義檔拖曳進去才行。
▲ 用媒體櫃把小朋友的照片按日期從小到大排列,好看又實用。
XML檔看重點
媒體櫃的文件結構並不複雜,透過許多用<>括號定義的項目組成。我們以「文件」媒體櫃示範,值得觀察的項目有:
<ownerSID>:
是建立這個媒體櫃的使用者識別碼,用來保障你的資料不會被其他人竄改。
<isLibraryPinned>:
用來定義媒體櫃要不要出現在左側的導覽列。
<version>:
記錄這個媒體櫃的定義檔已經被修改過幾次。
<templatelnfo>:
設定媒體櫃的「最佳化」類型,讓檔案總管調適不同的檢視模式。
<iconReference>:
定義媒體櫃顯示出來的圖示。
這裡檢視定義檔的目的,是要了解媒體櫃的運作而已,實際上你可以從檔案總管提供的設定視窗,來建立、變更媒體櫃大部份的選項。而微軟也不建議一般人或程式人員直接編輯定義檔,應該要透過API或寫好的程式來修改才行。
範本檢視大進化
定義檔裡的<templatelnfo>,是從Windows XP繼承而來的功能,會根據指定的資料夾範本類型,變更檔案總管裡相關的顯示項目。正好因為媒體櫃的概念打破了資料夾的界限,我們可以把所有「音樂」檔案打散,全部以專輯圖片瀏覽,或是照歌手名稱排序。還是將所有的相片檔依照拍攝日期來回顧,一邊瀏覽還能一邊加入註解資訊。
▲ 按「右鍵>內容」就可以簡單編輯媒體櫃的各項設定。
▲ 按右鍵編輯找不到檔案的話,先開編輯程式,再把XML檔拖曳進去即可。
讓你看不讓你改?
雖然定義檔裡記錄了媒體櫃使用的圖示,不過只要是我們自己建的媒體櫃,通通套用一張醜陋的怪圖,而且沒有任何可以自訂圖片的設定工具。這對媒體櫃能夠讓使用者自定各種特殊資料夾集合的美意,實在是不相襯。還好我們可以用土炮大法直接修改定義檔,不過這對微軟來說太惡搞了,所以手動編輯XML在標籤裡不會產生任何記錄,未來如果能有程式輔助修改應該會更好,當然稍後我們也會介紹土炮大法的步驟。
▲ 音樂檔案可以跨越資料夾按專輯封面排列,用來找還沒編輯專輯資訊的畸零檔案也算方便。
連結桌面搜尋
跟在圖示、範本設定等項目的後面,是一連串的「」定義項目。也就是媒體櫃的關鍵設定:它所整合的資料夾列表。如果這個媒體櫃有兩個以上的資料夾,就會被分別列舉在不同的標籤下。例如我們開啟的文件媒體櫃,第一個的關鍵項目包括:
<isDefaultSaveLocation>:
是否為預設儲存位置,是的話,在存檔對話框選中文件媒體櫃時就會存到該資料夾。
<url>knownfolder:⋯⋯:
資料夾位置,從上方圖片可以看到是直接用「我的文件」特殊資料夾的GUID為設定值。
<serialized>:
在這之後出現的一堆亂碼,才是讓API存取的實際物件。
▲ 到「%appdata%\Microsoft\Windows\Libraries」實體資料夾,會看到當前使用者所有的媒體櫃定義檔。
今天頭超痛,已經想好從哪裡拆了,晚點來動工
http://windowsteamblog.com/windows/b/windowshomeserver/archive/2010/11/23/windows-home-server-code-name-vail-update.aspx
底下留言罵翻天
但我還一直在抗拒換windows7
> 一直沒搞懂媒體櫃,還好有這篇
可以教我嗎?我看了五次都看不太懂 囧rz