WindowsAPICodePack -- edit video file wmv metadata property title comments
其實很早之前就看過WindowsAPICodePack了,那時候覺得是個好東西,但裡面太大了,就沒有一個一個去玩,而且他的最近更新日期也很久以前了。 今天有一個需求,要修改檔案的Metadata,就是你在檔案總管對著檔案按右鍵,可以切到細節的那個頁籤,就可以看到Title,Rating之後的。 我們的問題是因為透過某支tool編輯wmv檔案之後,他會加上Comments這個屬性,我們要把他移掉。於是開始搜尋解法,沒想到一找就找了兩個小時啊。其間用過 edit property shell C# comments video file 之類的關鍵字,但找了一堆都是只能讀的,沒法寫入,也有找到是專門for Office檔案的Metadata的,或是 for Music Files的。甚至強大的 MediaInfo ,可是他是著重在讀取codec之類的,而不是Windows標準的Metadata。 還試過用PE Explorer來看那支工具程式看他用了哪些API,但太多了,懶的找。 我們是使用 Expression Encoder SDK來作事的,當然Encoder SDK作的到編輯Metadata,但他的作法一定要另存新檔,我覺得這樣很瞎,改一個小小的東西,可能要複製快2GB的影片檔。 最後快要放棄的時候,改用Windows API Shell C# metadata來找,打算自己用Windows API來解了。結果在搜尋那邊看到 WindowsAPICodePack,耶,來看看說不定會有喔。結果真的在 Windows API Code Pack 1.1\source\Samples\Shell\PropertyEditDemo 下找到了,而且很簡單使用的啊! -set System.Comment "No Comments" "C:\1.wmv" 之後再花一小時把DLL整到主程式就OK了,唉,看來平常有在花時間多看點東西,問題才能解比較快啊。