MSN?Messenger?6.0?這個版本中相比以前增加了很多激動人心的功能,如:更漂亮的界面,更多的表情符號,可設置個人頭像,聊天窗口的背景圖片支持,P2P功能支持,聯機游戲等,在這個版本中增強了的標簽功能,對于廣大?MSN?Messenger?愛好者來說,尤其帶來了許多樂趣,本文將主要對?MSN?Messenger?的標簽的使用和開發進行探討。
什么是?MSN?Messenger?標簽??
MSN?Messenger?標簽是對?MSN?Messenger?功能的一種擴展,如圖1所示。MSN?Messenger?已經內置了許多功能擴展,如?MSN?Alerts等?.NET?My?Services?,除此之外,還將?www.msn.com?提供的許多個性服務都集成到?MSN?Messenger?里面了,如股票行情、新聞、旅游、汽車、購物、游戲等。?
除了這些內置的標簽之外,我們還可以增加自己特殊的標簽,將常用的一些在線功能(閱讀新聞、查看天氣預報等)集成到?MSN?Messenger?中,將其變為一個功能豐富而強大的客戶端工具。筆者曾經見到過?Microsoft?演示新加坡政府的電子政務系統,就是將許多客戶端的功能置入?MSN?Messenger?的標簽中,為工作人員提供了一個使用極其方便的工具。?
(注:默認情況下,MSN?Messenger?標簽只有兩個,要想顯示全部內置標簽,用戶需要在?www.passport.net?登錄,并在Member?Services?中修改?Profile?文件,將自己的?Country/Region?修改為美國,或者直接下載此文件:?
http://www.china-actuary.com/temp/configcache.zip ?,解開后覆蓋原配置文件即可,原配置文件的路徑在下文列出)?
如何增加標簽?
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(注:?[User]?是登錄?Windows?系統的用戶名,Passport?ID?是指登錄?MSN?Messenger?的ID,如?muslem@msn.com,另外,如果你的?Windows?系統安裝在?C:?以外的其它驅動器,則上述路徑要做相應改變)。
打開這個?XML?文件,就可以看到在?\MsgrConfig\TabConfig\msntabdata?節點內就是所有標簽的定義,現舉例對其中的主要元素加以說明:?
<tab>
??<image>res:moneyimage>
??<name>CNBC?on?MSN?Moneyname>
??<tooltip>CNBC?on?MSN?Moneytooltip>
??<contenturl>
http://moneycentral.msn.com/messenger/tab.aspxcontenturl></tab>?
了解了標簽的定義方式后,我們就可以定義自己的標簽了,考慮到?MSN?Messenger?窗口的大小和?PocketPC?或?Palm?等PDA?類似,所以適合?PDA?的網站置入到標簽中比較合適。例如我們把新浪站點的?PDA版(
http://pda.sina.com.cn)做成一個標簽,則應定義如下一個 ?XML?結點:
<tab>
???<image>res:bellimage>
???<name>SINA?PDAname>
???<tooltip>SINA?PDA?Sitetooltip>
???<contenturl>
http://pda.sina.com.cncontenturl></tab>
然后將結點定義的全部文本插入到配置文件的?\MsgrConfig\TabConfig\msntabdata?節點里面,注銷并重新登錄?MSN?Messenger?,則效果圖2所示。
除此之外,在?PDA?上很受歡迎的?AvantGO?頻道都可以作為標簽內容的來源,在?
http://www.avantgo.com ?中注冊登錄后,會列出各種各樣的頻道及其?URL?地址,然后就可以自己的需要選擇利用了。
如何開發標簽
除了引用已有的站點,如AvantGO頻道或PDA站點外,能不能制做自己的功能標簽呢?答案是完全肯定的,可以看到,標簽配置中的?ContentURL?既可以引用外部?URL?資源,也可以引用本地資源,最常用的就是引用本地的?HTML?文件。
利用?HTML?文件,你的所有與?HTML?有關的開發技術/技巧都能派上用場,如CSS、HTML?Component、VBScript/JavaScript、Java?Applet、DHTML,ActiveX,MSXML(包括XMLHttp組件),XSLT等。如果是開發一個內容采集(如新聞或天氣預報信息抓取)的標簽,則一般要經過以下步驟:
1、尋找內容來源,此頁面一般要求格式相對固定,如新浪的滾動新聞頁面等?
2、利用?MSXML?包中的?XMLHttp?對象來獲取內容?
3、在本地利于腳本結合?HTML?DOM(文檔對象模型)技術對獲取的內容進行分析和過濾,取出有用內容?
4、以適合的方式顯示這些的內容,并可以結合?CSS?進行內容的格式化?
另外,如果引用本地的?HTML?文件,則腳本安全性級別較低,對本地文件系統進行讀寫是允許的,因此開發一些具有高級特性的應用,如本地緩存內容,顯示本計算機的某些信息(如?Outlook?的郵件,聯系人列表等)。
下圖是筆者開發的一個標簽的實例,主要功能是查閱新聞、電視節目單、天氣預報等,可以從?
http://www.china-actuary.com/temp/rordown.asp ?下載,通過閱讀里面的內容和程序腳本來進一步了解如何開發標簽。
除此之外,可以利于?Windows?系統和第三方豐富的組件和控件,嘗試進行一些MSN?Messenger?標簽的高級開發,如利用?JMail?組件來讀取?POP3?郵箱的內容或發送郵件;利用通訊網關發送手機短消息;利用?XML?解析器來讀取和顯示?RSS?內容;甚至可以通過?MSXML?中的?XMLHTTP?來讀取?Hotmail/MSN?郵箱中的內容,使用?ADO?來存取數據庫信息等,當然開發人員也可以將此功能延伸到企業應用開發中,如小組協作,日程安排等。
開發標簽注意事項
1、圖標的引用
標簽的圖標即可以采用內置的資源圖標,也可以引用外部(URL形式,如?
http://www.china-actuary.com/temp/news.png)的 ?PNG?文件(必須是32位色),圖標大小為?32X32,也可以使用?ResHacker?等工具將自己的圖標加入到?MSN?Messenger?可執行文件?MsnMsgr.exe?中,然后使用?res:[ID]?的方式來引用。?
2、界面開發
由于標簽的內容顯示在?MSN?Messenger?窗口的內部,所以在界面開發時要注意以下原則:
1)?標簽中元素的采用相對大小,而非絕對大小。這樣當?MSN?Messenger?窗口縮放的時候,里面的內容能夠自適應地進行調整。此外如果可能,對超過窗口寬度的內容進行手工縮放(在筆者的例子里,對新聞中的圖片進行了縮放,以便能夠在任意大小的窗口都看到全圖),從而避免出現水平滾動條。
2)?使用小字體,以顯示更多內容
3)?使用元素的邊框和間隔不要太大,不要采用較大的圖片按鈕
4)?使用簡單控件
5)?盡量避免重新刷新整個頁面
3、程序的開發與調試
可以使用常用的?HTML/VBScript/Jscript?開發工具,結合?Internet?Explorere?進行測試,測試無誤后再加入到?MSN?Messenger?的標簽中,要不然每次更改頁面后都要重新登錄?MSN?Messenger?,無疑是一件很痛苦的事。?
4、配置文件與標簽圖標
經常發現登錄?MSN?Messenger?后,除了最上面好友列表的標簽外,其它標簽到都不見了,此問題一般都是錯誤地修改?ConfigCache.xml?文件而使其成為一個不合法的?XML?文件導致的。所以在修改此文件后,最好使用?Internet?Explorer?打開查看一下,以確認?XML?文件的格式無誤。?
另外,有時候即使不修改配置文件,標簽也會“消失”,這是由于?MSN?Messenger?自動更新配置文件而覆蓋和自定義的標簽,要防止此類情況,最好將配置文件中的過期設置元素的值改為0,即:0。
另外,msn?shell也可以實現此功能,而且功能更為強大
原文地址:
http://www.blogcn.com/user31/nhdj/blog/7190344.html