如何实现IE自定义协议

转载于:http://koko.c.blog.163.com/blog/static/2802775320089221011459/

如何实现IE自定义协议
浏览QQ空间的时候发现,只要在IE地址中输入象一下这种形式的地址,

tencent://Message/?Uin=251464630&websiteName=qzone.qq.com&Menu=yes

就会弹出给 251464630 发送信息的对话框,也就是说QQ对IE地址栏的东西做了监控。而且可以发现输入地址确定之后他就启动了timwp.exe这个程序。在PPlive 也有实现类似的功能,
方法一: 也就是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地址的自定义估计是最简单的了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章