zoukankan      html  css  js  c++  java
  • 怎样让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_ROOTTENCENT]
    @="TencentProtocol"
    "URL Protocol"="C:\Program Files\Tencent\QQ\Timwp.exe"
    [HKEY_CLASSES_ROOTTENCENTDefaultIcon]
    @="C:\Program Files\Tencent\QQ\Timwp.exe,1"
    [HKEY_CLASSES_ROOTTENCENTshell]
    [HKEY_CLASSES_ROOTTENCENTshellopen]
    [HKEY_CLASSES_ROOTTENCENTshellopencommand]
    @=""C:\Program Files\Tencent\QQ\Timwp.exe" "%1""

    PPlive的:
    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOTSynacast]
    @="URL:synacast Protocol"
    "Version"="1.5.38"
    "URL Protocol"=""
    [HKEY_CLASSES_ROOTSynacastDefaultIcon]
    @="C:\Program Files\PPLive\PPLive.exe"
    [HKEY_CLASSES_ROOTSynacastShell]
    [HKEY_CLASSES_ROOTSynacastShellOpen]
    [HKEY_CLASSES_ROOTSynacastShellOpenCommand]
    @="C:\Program Files\PPLive\PPLive.exe "%1""

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

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



  • 相关阅读:
    服务器消息机制实现记录
    转载SQL经典代码按某一字段分组取最大(小)值所在行的数据
    记录js获取当前URL
    (原创)xilinx IP建立向导创建的目录和文件都是做什么的?由错误ERROR:HDLCompiler:Instantiating <xx> from unknown module <xx>引发的思考
    [转]NTFS3G的安装和配置
    (原创)Notepad++怎么实现双视图/双窗口?
    (原创)Quartus硬件工程路径改变,nios工程该怎么办?
    (原)verilog中的reg类型变量,一定会综合出触发器吗?
    (Windows)使用纯净版本的系统碟安装系统后没有网卡驱动怎么办?
    [转]NIOS_II的Boot过程分析
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7018189.html
Copyright © 2011-2022 走看看