首页 编程 软件学院 查看内容

探索腾讯网页临时聊天的秘密

2009-2-1 12:39 1440 0

摘要:   出处:Zaroty's Blog  作者:Zaroty  前置知识:无  参考链接:http://msdn.microsoft.com/en-us/library/aa767914.aspx#ap...
关键词: CLASSES tencent ROOT HKEY 协议 注册表 Zaroty 注册 相应 链接

  出处:Zaroty's Blog  作者:Zaroty  前置知识:无  参考链接:http://msdn.microsoft.com/en-us/library/aa767914.aspx#app_reg  KeyWords :腾讯 注册 协议 Register protocol  QQ大家都用过吧,所以QQ的临时聊天也都见过吧,大家经常会看到一个这样的链接:  tencent://message/?uin=*  到这个地方我们可以想到当我们单击一个 mailto:[email protected] 的链接的时候就会打开系统默认的  邮件发送程序。  我们可以想到这些链接前面的 mailto 、tencent 和http 、https、ftp这些的原理应该是一样的,只不过前面的  两个是打开了一个相应的程序,而后面的两个是显示的网页。  那么这些行为都是怎么实现和定义的呢?  带着这些疑问,我们打开注册表来看一下:  HKEY_CLASSES_ROOT\mailto  HKEY_CLASSES_ROOT\HTTP  HKEY_CLASSES_ROOT\https  HKEY_CLASSES_ROOT\ftp  HKEY_CLASSES_ROOT\Tencent  打开上面的注册表键,查看一下相应的键值。  这些内容就是我们已经注册了的协议,对于以这些内容开头的网址,浏览器都可以找出相应的方法来显示。  我们可以看到 HKEY_CLASSES_ROOT\Tencent\shell\open\command 这个键值为:  "C:\Program Files\Tencent\QQ\Timwp.exe" "%1"  由此,我们可以猜测道,当我们单击一个QQ临时聊天的链接的时候,就会启动Timwp.exe程序来相应这一操  作,来显示QQ的临时聊天窗口。  写到这里,我们就明白了,原来腾讯QQ的临时聊天是通过注册协议来实现启动聊天窗口的。  tencent 协议的注册表项:  ==============================================  Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\Tencent]  @="TencentProtocol"  "URL Protocol"="C:\\Program Files\\Tencent\\QQ\\Timwp.exe"  [HKEY_CLASSES_ROOT\Tencent\DefaultIcon]  @="C:\\Program Files\\Tencent\\QQ\\Timwp.exe,1"  [HKEY_CLASSES_ROOT\Tencent\shell]  [HKEY_CLASSES_ROOT\Tencent\shell\open]  [HKEY_CLASSES_ROOT\Tencent\shell\open\command]  @="\"C:\\Program Files\\Tencent\\QQ\\Timwp.exe\" \"%1\""  ==============================================  那么我们能不能自己定义协议,来实现启动自己想要的程序呢? 答案是肯定的。  下面我们来看下注册协议的相关内容:  我们可以创建一个这样的注册表文件来实现协议的注册  ==========================================  Windows Registry Editor Version 5.00  [HKEY_CLASSES_ROOT\zaroty]  @="URL:zaroty Protocol"  "URL Protocol"=""  [HKEY_CLASSES_ROOT\zaroty\shell]  [HKEY_CLASSES_ROOT\zaroty\shell\open]  [HKEY_CLASSES_ROOT\zaroty\shell\open\command]  @="\"C:\\windows\\system32\\notepad.exe\""  ==========================================  注意:两个反斜干(\\)以及转义的引号(\")不应该被替换(必须的)  将虚线中间的文字保存为 Zaroty.reg ,然后双击将其导入注册表,然后单击下面的链接:  zaroty://  是不是打开了记事本呢?  简简单单,我们通过对注册表的修改,就实现了协议的注册。通过这种方法,我们就可以注册相应的协议,  打开相应的文件,使我们的浏览器变成我们的万能快捷方式。(你可以研究一下带参数的哦)
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部