怎样让IE支持自己定义协议

浏览QQ空间的时候发现,仅仅要在IE地址中输入象一下这样的形式的地址。
tencent://Message/?Uin=251464630&websiteName=qzone.qq.com&Menu=yes
就会弹出给 251464630 发送信息的对话框。也就是说QQ对IE地址栏的东西做了监控。并且能够发现输入地址确定之后他就启动了timwp.exe这个程序。
在PPlive也有实现类似的功能,仅仅要你电脑上安装了PPlive 这个程序,在IE地址栏中输入synacast://09jN1+TK3K3nodzJoaLOmqeS1KGhoKOZoqGclt
然后确定。就会弹出播放CCTV5的窗体。

非常有意思的一种功能。居然这么多程序都用到了,我也就找了一下,找到了一下实现方法。



方法一: 也就是QQ和PPlive所採用的方法,在注冊表里面加入两种类型的注冊。


QQ的:
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\""

PPlive的:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Synacast]
@="URL:synacast Protocol"
"Version"="1.5.38"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\Synacast\DefaultIcon]
@="C:\\Program Files\\PPLive\\PPLive.exe"
[HKEY_CLASSES_ROOT\Synacast\Shell]
[HKEY_CLASSES_ROOT\Synacast\Shell\Open]
[HKEY_CLASSES_ROOT\Synacast\Shell\Open\Command]
@="C:\\Program Files\\PPLive\\PPLive.exe \"%1\""

通过多方查找最终发现是注冊表这两项在起作用。原来仅仅要在注冊表里象加入文件扩展名一样,加入两个Synacast和TENCENT扩展名来,IE就会自己主动查找到这里来调用对应的程序。IE果然和windows系统内核整合起来了!原来注冊表扩展名项还有这样的作用。自己见识太少了。这样的方法实现IE地址的自己定义预计是最简单的了。

方法二:一開始不知道方法一的时候,在网上找了非常多能够实现这样的功能的代码,採用BHO(Browser Helper Object。浏览器辅助对象)或者IURLSearchHook接口 来做到。也就是通常所说的IE插件了,我这里统称为方法二。假设不知道什么叫做BHO和IURLSearchHook的就去搜索一下吧。近期流氓插件非常火。所以这个技术也有多人提到,借助IURLSearchHook还能够实现中文实名上网等功能,只是那些臭名昭著的流氓软件可都不是这样子坐的他很多其它的精力是放到防止别人卸载那边去了。



转载于:https://www.cnblogs.com/liguangsunls/p/7018189.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值