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了,唉,看來平常有在花時間多看點東西,問題才能解比較快啊。

留言

這個網誌中的熱門文章

好貴的東元冷氣維修--馬達啟動電容

台大醫院 婁培人 耳鼻喉科 就診

機車無法充電之整流器壞掉--$650