作者virdust2003 (XDXDXDXDXDXD)
看板C_Sharp
标题[情报] WindowsAPICodePack
时间Sat Apr 28 08:06:30 2012
其实很早之前就看过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了,唉,看来平常有在花时间多看点东西,问题才
能解比较快啊。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 113.196.144.159