tencent://message协议
|举报|字号 订阅
相信很多朋友在访问别人的博客、网上商城时可能会发现上都有这样的小玩意, 点击下就可以弹出对话框和主人进行对话,而且无需加对方为好友。
◆腾讯提供的代码为:(腾讯官方链接: http://is.qq.com/webpresence/code.shtml)
<a href="tencent://message/?uin=88888888&Site=JooIT.com&Menu=yes">
<img border="0" SRC='http://is.qq.com/webpresence/images/status/01_online.gif' alt="点击这里给我发消息">
</a>
有时在浏览器地址中输入: 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。
◆腾讯又为广大网友推出一项新的服务Web presence,这项新服务可以不用登录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=yes Q我(这里site=连接到的网页,也可以自定义)
◆当然了解了微软协议的知识,也可以动手自定义协议,以下借鉴网友的自定义的HelloWorld协议来实现发送消息,注册表信息如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTHelloWorld]
@="HelloWorld Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOTHelloWorldDefaultIcon]
@="D:\My Documents\Visual Studio 2005\Projects\HelloWorld\release\HelloWorld.exe,1"
[HKEY_CLASSES_ROOTHelloWorldshell]
@=""
[HKEY_CLASSES_ROOTHelloWorldshellopen]
@=""
[HKEY_CLASSES_ROOTHelloWorldshellopencommand]
@=""D:\My Documents\Visual Studio 2005\Projects\HelloWorld\release\HelloWorld.exe" "%1"
(源代码下载:http://files.cnblogs.com/phinecos/HelloWorldProtocal.rar)
★★★★★★★★★★★★★★★★★以下提供几种QQ风格代码★★★★★★★★★★★★★★★★★★★★★
风格1 在线状态: http://is.qq.com/webpresence/images/status/01_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/01_offline.gif[*/img]
风格2 在线状态: http://is.qq.com/webpresence/images/status/02_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/02_offline.gif[*/img]
风格3 在线状态: http://is.qq.com/webpresence/images/status/03_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/03_offline.gif[*/img]
风格4 在线状态: http://is.qq.com/webpresence/images/status/04_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/04_offline.gif[*/img]
风格5 在线状态: http://is.qq.com/webpresence/images/status/05_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/05_offline.gif[*/img]
风格6 在线状态: http://is.qq.com/webpresence/images/status/6_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/6_offline.gif[*/img]
风格7 在线状态: http://is.qq.com/webpresence/images/status/7_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/7_offline.gif[*/img]
风格8 在线状态: http://is.qq.com/webpresence/images/status/8_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/9_offline.gif[*/img]
风格9 在线状态: http://is.qq.com/webpresence/images/status/9_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/9_offline.gif[*/img]
风格10 在线状态: http://is.qq.com/webpresence/images/status/10_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/10_offline.gif[*/img]
风格11 在线状态: http://is.qq.com/webpresence/images/status/11_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/11_offline.gif[*/img]
风格12 在线状态: http://is.qq.com/webpresence/images/status/12_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/12_offline.gif[*/img]
风格13 在线状态: http://is.qq.com/webpresence/images/status/13_online.gif[*/img]离线状态: http://is.qq.com/webpresence/images/status/13_offline.gif[*/img]
图片 | 地址 |
http://is.qq.com/webpresence/images/status/05_online.gif | |
http://is.qq.com/webpresence/images/status/6_online.gif | |
http://is.qq.com/webpresence/images/status/7_online.gif | |
http://is.qq.com/webpresence/images/status/05_offline.gif | |
http://is.qq.com/webpresence/images/status/6_offline.gif | |
http://is.qq.com/webpresence/images/status/7_offline.gif | |
http://is.qq.com/webpresence/images/status/8_online.gif | |
http://is.qq.com/webpresence/images/status/8_offline.gif | |
http://is.qq.com/webpresence/images/status/9_online.gif | |
http://is.qq.com/webpresence/images/status/10_online.gif | |
http://is.qq.com/webpresence/images/status/11_offline.gif | |
http://is.qq.com/webpresence/images/status/11_online.gif | |
http://is.qq.com/webpresence/images/status/12_offline.gif | |
http://is.qq.com/webpresence/images/status/12_online.gif | |
http://is.qq.com/webpresence/images/status/04_online.gif | |
http://is.qq.com/webpresence/images/status/04_offline.gif | |
http://is.qq.com/webpresence/images/status/13_offline.gif | |
http://is.qq.com/webpresence/images/status/13_online.gif |
登陆你的QQ空间后点自定义(快捷键Ctrl+j,Alt+j)点新建模块→大图模块→输入或者粘贴刚复制的地址。然后点“更多设置”,点开之后下面有个显示边框,点“不显示”。上面有个图片连接地址输入:
tencent://message/?uin=*****&Site=www.qqkj.cn&Menu=yes
把上面地址中的*****改成你的qq号码,最后提交就可以了!
以上的只是本人的浅解,参考资料: