论坛帖子内容              Thread Content
探索腾讯网页临时聊天的秘密
作者 depressedboy   查看 264   发表时间 2008/7/31 18:00  【论坛浏览】
QQ大家都用过吧,所以QQ的临时聊天也都见过吧,大家经常会看到一个这样的链接:bwonsyl
bwonsyl
tencent://message/?uin=*bwonsyl
bwonsyl
到这个地方我们可以想到当我们单击一个 mailto:123@123.com 的链接的时候就会打开系统默认的bwonsyl
bwonsyl
邮件发送程序。bwonsyl
bwonsyl
我们可以想到这些链接前面的 mailto 、tencent 和http 、https、ftp这些的原理应该是一样的,只不过前面的bwonsyl
bwonsyl
两个是打开了一个相应的程序,而后面的两个是显示的网页。bwonsyl
bwonsyl
那么这些行为都是怎么实现和定义的呢?bwonsyl
bwonsyl
带着这些疑问,我们打开注册表来看一下:bwonsyl
HKEY_CLASSES_ROOT\mailtobwonsyl
bwonsyl
HKEY_CLASSES_ROOT\HTTPbwonsyl
bwonsyl
HKEY_CLASSES_ROOT\httpsbwonsyl
bwonsyl
HKEY_CLASSES_ROOT\ftpbwonsyl
bwonsyl
HKEY_CLASSES_ROOT\Tencentbwonsyl
bwonsyl
打开上面的注册表键,查看一下相应的键值。bwonsyl
bwonsyl
这些内容就是我们已经注册了的协议,对于以这些内容开头的网址,浏览器都可以找出相应的方法来显示。bwonsyl
bwonsyl
我们可以看到 HKEY_CLASSES_ROOT\Tencent\shell\open\command 这个键值为:bwonsyl
bwonsyl
"C:\Program Files\Tencent\QQ\Timwp.exe" "%1"bwonsyl
bwonsyl
由此,我们可以猜测道,当我们单击一个QQ临时聊天的链接的时候,就会启动Timwp.exe程序来相应这一操bwonsyl
bwonsyl
作,来显示QQ的临时聊天窗口。bwonsyl
bwonsyl
写到这里,我们就明白了,原来腾讯QQ的临时聊天是通过注册协议来实现启动聊天窗口的。bwonsyl
bwonsyl
tencent 协议的注册表项:bwonsyl
bwonsyl
  代码  [Copy]:
Windows Registry Editor Version 5.00bwonsyl
[HKEY_CLASSES_ROOT\Tencent]bwonsyl
@="TencentProtocol"bwonsyl
"URL Protocol"="C:\\Program Files\\Tencent\\QQ\\Timwp.exe"bwonsyl
[HKEY_CLASSES_ROOT\Tencent\DefaultIcon]bwonsyl
@="C:\\Program Files\\Tencent\\QQ\\Timwp.exe,1"bwonsyl
[HKEY_CLASSES_ROOT\Tencent\shell]bwonsyl
[HKEY_CLASSES_ROOT\Tencent\shell\open]bwonsyl
[HKEY_CLASSES_ROOT\Tencent\shell\open\command]bwonsyl
@="\"C:\\Program Files\\Tencent\\QQ\\Timwp.exe\" \"%1\""
bwonsyl
那么我们能不能自己定义协议,来实现启动自己想要的程序呢? 答案是肯定的。bwonsyl
bwonsyl
下面我们来看下注册协议的相关内容:bwonsyl
bwonsyl
我们可以创建一个这样的注册表文件来实现协议的注册bwonsyl
bwonsyl
  代码  [Copy]:
Windows Registry Editor Version 5.00 bwonsyl
[HKEY_CLASSES_ROOT\zaroty]bwonsyl
@="URL:zaroty Protocol"bwonsyl
"URL Protocol"=""bwonsyl
[HKEY_CLASSES_ROOT\zaroty\shell]bwonsyl
[HKEY_CLASSES_ROOT\zaroty\shell\open]bwonsyl
[HKEY_CLASSES_ROOT\zaroty\shell\open\command]bwonsyl
@="\"C:\\windows\\system32\\notepad.exe\""
bwonsyl
注意:两个反斜干(\\)以及转义的引号(\")不应该被替换(必须的)将虚线中间的文字保存为 Zaroty.reg ,然后双击将其导入注册表,然后单击下面的链接:bwonsyl
bwonsyl
[url=zaroty:///]zaroty://[/url]bwonsyl
bwonsyl
是不是打开了记事本呢?bwonsyl
bwonsyl
简简单单,我们通过对注册表的修改,就实现了协议的注册。通过这种方法,我们就可以注册相应的协议,bwonsyl
bwonsyl
打开相应的文件,使我们的浏览器变成我们的万能快捷方式。(你可以研究一下带参数的哦)bwonsyl
bwonsyl
出处:Zaroty's Blog

序号 评论者 共有评论 0   【论坛浏览】  【发表评论】 评论时间
当前无任何评论,或评论已被禁止显示
 共有评论数 0  每页显示 10
页码 1/0  |<  <<     >>  >| 
论坛登录信息  
本版热门  
Powered by DiY-Page 5.3.0 © 2005-2009