⑴ tencent://message/uin=627722999&Site=&Menu=yes
相信很多朋友在訪問別人的博客、網上商城時可能會發現上都有這樣的小玩意, 點擊下就可以彈出對話框和主人進行對話,而且無需加對方為好友。
一、騰訊提供的代碼為:
<ahref="tencent://message/?uin=88888888&Site=JooIT.com&Menu=yes">
<imgborder="0"SRC='http://is.qq.com/webpresence/images/status/01_online.gif'alt="點擊這里給我發消息">
有時在瀏覽器地址中輸入: tencent://message/?uin=********* (********代表對方QQ)就可以彈出對話框和對方進行對話,同樣無需加對方為好友(前提是對方沒有設置身份認證)。也可在cmd中執行start tencent://message/?uin=*********也可有相同效果。注
tencent://message/?uin=*********&Site=&Menu=yes 這是QQ推出的新代碼,以前用的是http://wpa.qq.com/msgrd?V=1&Uin==*********&Site=&Menu=yes
要說明它的工作原理還要細談微軟關於注冊應用程序協議的說明Registering an Application to a URL Protocol
二、此文中對於 Windows、Linux 和 OS X 操作系統如何注冊協議都有說明。比如說 Windows,其實只需寫入注冊表,即可實現協議與執行程序的關聯。
詳細說明請參考:Register protocol
三、到這里我們再來剖析tencent://message/?uin=********的實現原理,騰訊的Tencent://Message協議注冊表如下:
[HKEY_CLASSES_ROOTTENCENT]
@=」TencentProtocol」
"URL Protocol」="D:\Program Files\Tencent\QQ\bin\Timwp.exe"
[HKEY_CLASSES_ROOTTENCENTDefaultIcon]
@=」D:\Program Files\Tencent\QQ\Timwp.exe,1″
[HKEY_CLASSES_ROOTTENCENTshell]
[HKEY_CLASSES_ROOTTENCENTshellopen]
[HKEY_CLASSES_ROOTTENCENTshellopencommand]
@=""D:\Program Files\Tencent\QQ\bin\Timwp.exe" "%1」"
此注冊表所實現的就是當瀏覽器(或其它)碰到 tencent://… 時,自動調用 Timwp.exe,並把 tencent://… 地址作為第一個參數傳遞給 Timwp.exe。
四、騰訊又為廣大網友推出一項新的服務Webpresence,這項新服務可以不用登錄QQ,只要把生成的代碼嵌入到網頁或是論壇上,代碼會生成一個按鈕,通過這個按扭就能看到你的QQ是否在線,同時更絕的是只要點擊這個按扭,還可以給QQ發送消息,即使沒有加好友,也可以自如的聊天,這是它的官方登入網頁http://is.qq.com/webpresence,有興趣的朋友可以在網頁試驗如下代碼中Q我。
[img]http://wpa.qq.com/pa?p=1:1103150:13[/img]
[url=http://wpa.qq.com/msgrd?V=1&Uin=744014863&Site=yrj9814.blog.163.com&Menu=yes]有事點這里給我qq留言[/url]
同樣可以在地址欄輸入http://wpa.qq.com/msgrd?V=1&Uin=744014863&Site=yrj9814.blog.163.com&Menu=yesQ我(這里site=連接到的網頁,也可以自定義)
五、當然了解了微軟協議的知識,也可以動手自定義協議,以下借鑒網友的自定義的HelloWorld協議來實現發送消息,注冊表信息如下:
WindowsRegistryEditorVersion5.00
[HKEY_CLASSES_ROOTHelloWorld]
@="HelloWorldProtocol"
"URLProtocol"=""
[HKEY_CLASSES_ROOTHelloWorldDefaultIcon]
@="D:\MyDocuments\VisualStudio2005\Projects\HelloWorld\release\HelloWorld.exe,1"
[HKEY_CLASSES_ROOTHelloWorldshell]
@=""[HKEY_CLASSES_ROOTHelloWorldshellopen]
@=""[HKEY_CLASSES_]
@=""D:\MyDocuments\VisualStudio2005\Projects\HelloWorld\release\HelloWorld.exe""%1"
(源代碼下載:http://files.cnblogs.com/phinecos/HelloWorldProtocal.rar)
登陸你的QQ空間後點自定義(快捷鍵Ctrl+j,Alt+j)點新建模塊→大圖模塊→輸入或者粘貼剛復制的地址。然後點「更多設置」,點開之後下面有個顯示邊框,點「不顯示」。上面有個圖片連接地址輸入:
tencent://message/?uin=*****&Site=www.qqkj.cn&Menu=yes
把上面地址中的*****改成你的qq號碼,最後提交就可以了!
六、參考資料:
1、Registering an Application to a URL Protocol
2、Register protocol
3、仿騰訊 QQ 和 Skype 通過URL觸發自己的程序。
4、由Tencent://Message協議想到的一個解決方案。