MSN Messenger 标签是对 MSN Messenger 功能的一种扩展,如图1所示。MSN Messenger 已经内置了许多功能扩展,如 MSN Alerts等 .NET My Services ,除此之外,还将 www.msn.com 提供的许多个性服务都集成到 MSN Messenger 里面了,如股票行情、新闻、旅游、汽车、购物、游戏等。
除了这些内置的标签之外,我们还可以增加自己特殊的标签,将常用的一些在线功能(阅读新闻、查看天气预报等)集成到 MSN Messenger 中,将其变为一个功能丰富而强大的客户端工具。
(提示:默认情况下,MSN Messenger 标签只有两个,用户只需将自己 Passport ID中的位置修改为美国的某个地方即可)
如何增加标签
MSN Messenger 中所有标签都是定义在一个 XML 配置文件中,这个文件位于 C:\Documents and Settings\[User]\Application Data\Microsoft\MSN Messenger\[Passport ID] 目录下,如果安装的是 MSN Messenger 6.0中文版,则可能位于 C:\Documents and Settings\[USER]\Application Data\Microsoft\MSN Messenger下面的目录名是一串数字的子目录中,文件名为 ConfigCache.xml
(注:默认情况下,MSN Messenger 标签只有两个,要想显示全部内置标签,用户需要在 www.passport.net 登录,并在Member Services 中修改 Profile 文件,将自己的 Country/Region 修改为美国,或者直接下载此文件: http://www.china-actuary.com/temp/configcache.zip ,解开后覆盖原配置文件即可,原配置文件的路径在下文列出)
用记事本打开这个XML 文件,就可以看到在 \MsgrConfig\TabConfig\msntabdata 节点内的就是所有标签的定义,现举例对其中的主要元素加以说明:
<tab>
<image>res:money</image> <!—定义标签图标-->
<name>CNBC on MSN Money</name> <!—定义标签的名字-->
<tooltip>CNBC on MSN Money</tooltip> <!—定义当鼠标位于标签图标时的提示 -->
<!—标签的原文件,可以为 URL 或本地资源-->
<contenturl>http://moneycentral.msn.com/messenger/tab.aspx</contenturl>
</tab>
了解了标签的定义方式后,我们就可以定义自己的标签了,考虑到 MSN Messenger 窗口的大小和 PocketPC 或 Palm 等PDA 类似,所以适合 PDA 的网站置入到标签中比较合适。例如我们把电脑迷的MSN标签定义(http://www.cpcw.com/files/cpcfan_msn.html)到自己的MSN Messenger上,则应定义如下一个 XML 结点:
<tab>
<image>res:bell</image>
<name>电脑迷 </name>
<tooltip>Cpcfan Site</tooltip>
<contenturl>http://www.cpcw.com/files/cpcfan_msn.html</contenturl>
</tab>
然后将结点定义的全部文本插入到配置文件的 \MsgrConfig\TabConfig\msntabdata(即在“</msntabdata>”之前,“<msntabdata>”之后) 节点里面,注销并重新登录 MSN Messenger ,则效果如图1所示。
如何开发标签
除了引用已有的站点外,有网页制作基础的朋友还可以开发自己的标签。
下图是笔者开发的一个标签的实例,主要功能是查阅新闻、电视节目单、天气预报等,可以从 http://www.china-actuary.com/temp/rordown.asp 下载,通过阅读里面的内容和程序脚本来进一步了解如何开发标签。(图2 图3)
开发标签注意事项
1.图标的引用
标签的图标即可以采用内置的资源图标,也可以引用外部(URL形式,如 http://www.china-actuary.com/temp/news.png)的 PNG 文件(必须是32位色),图标大小为 32×32,也可以使用ResHacker等工具将自己的图标加入到 MSN Messenger 可执行文件 MsnMsgr.exe 中,然后使用 res:[ID] 的方式来引用。
2.界面开发
由于标签的内容显示在 MSN Messenger 窗口的内部,所以在界面开发时要注意以下原则:
1)标签中元素采用相对大小,而非绝对大小。这样当 MSN Messenger 窗口缩放的时候,里面的内容能够自动地进行调整。此外如果可能,对超过窗口宽度的内容进行手工缩放(在笔者的例子里,对新闻中的图片进行了缩放,以便能够在任意大小的窗口都看到全图),从而避免出现水平滚动条。
2)使用小字体,以显示更多内容。
3)使用元素的边框和间隔不要太大,不要采用较大的图片按钮。
4)使用简单控件。
5)尽量避免刷新整个页面。
3.修改配置文件
经常发现登录 MSN Messenger 后,除了最上面好友列表的标签外,其它标签都不见了,此问题一般都是错误地修改 ConfigCache.xml 文件而使其成为一个不合法的 XML 文件导致的。所以在修改此文件后,最好使用 Internet Explorer 打开查看一下,以确认 XML 文件的格式无误。
另外,有时候即使不修改配置文件,标签也会“消失”,这是由于 MSN Messenger 自动更新配置文件而覆盖和自定义的标签,要防止此类情况,最好将配置文件中的过期设置元素<ExpiresInDays>的值改为0,即:<ExpiresInDays>0</ExpiresInDays>。
(文中相关资源已收录入本期光盘)