首先感谢 Segalgx 的建议,才有了这篇教程.也许有朋友已经知道如何实现,但由于时间或者别的原因并没有提出来给大家分享.本人对编程之类的一窍不通,出这个教程现丑了.
我们知道,在 Symbian OS 里, AIF 文件除了充当程序图标的角色外,还有另外一个兼职,就是实现程序和文件的关联,跟 Windows 的文件关联是通理的.而当我们用专用工具 (AIFTool) 更改程序图以后,程序就不能正常与文件关联了 (?个人认为,这应该是 AIFTool 不完善造成的),在实际应用的时候多少会有些不方便.因此,我们有必要解决这个小问题.使用的工具当然少不了 AIFTool ,要有16进制的编辑器,我用 HEX WORKSHOP, 图标想个性化一点,你自己想办法找个方便实用的做图工具就行了,当然,改图还必须用到 MBMTool.
好,开始吧.先用 AIF 工具打开你想修改的 AIF 文件,替换你已经修改好的 MBM 文件(这里主要讲文件关联,关于 MBMtool 等其它工具的使用可以参考别的文章),然后在 MIME 栏填上任意你方便识别的字符,比如 "XXXX" (图中2),这里后面要用到的.好了,保存你修改好的 AIF.
接下来,用 HEX WORKSHOP 打开原始的 AIF, 就是你没修改前的 AIF,一般在文件末端都会有一段关于程序关联的描述,即文件的 MIME (Symbian OS 的 MIME 一般有 image/jpeg , image/png , image/gif , audio/midi , audio/sp-midi , audio/amr , audio/mpeg , video/3gpp , video/mpeg 等等), 从描述关联的前一个字段开始,一直到结束(图中1),复制下来,替换到新的 AIF 中,就从我们刚才打上 "XXXX" 标记的地方开始替换(图中3).完成后保存并关闭.这时的 AIF 还无法正常关联.
第三步,再用 HEX WORKSHOP 打开原始的 AIF,找到每个 MIME 类型(如 audio , video ,这是类型, /mpeg 之类的是格式)的前一个字符,将光标停留在那里,记住这个地址偏移(16进制),如 ODEO. 高低两位互换变成 EOOD, 打开刚才保存好的 AIF ,在刚才替换过去的关于描述关联的区段里找到这个16进制值 E00D, 找到这个新 AIF 相同描述的地址偏移,高低两位互换一下.替换 E00D 这个错误的地址就行了.记住,每个 MIME 类型前的地址偏移都要修正过来.
好了,说起来挺麻烦,简单说了就是修改 MIME 在新的 AIF 中的地址偏移就行了.动手试试吧.教程写得乱七八糟,只恨自己学识太少.