IE浏览器—自定义地址协议详解.docIE浏览器一自定义地址协议详解类似问题:实现一个类似迅雷下载的功能,用户点击下载链接,如果用户未安装迅雷,则弹出迅雷安装对话框,已经安装迅雷,则要求启动迅雷,并下载用户想要的种子。核心实现:最近开发客户端程序,被要求实现一个自定义的IE地址栏协议,目的是为了通过在IE地址栏中输入一串符合规则的命令,可以达到和客户端程序通信的效果。自己思索良久,并在网上查阅相关资料,发现皆是拷贝,而且内容表述很乱,所以想在这里写一篇随笔,以备其他童鞋查阅用,如有异议随便拍砖~~哈哈我这里实现的功能,主要是为了以后方便用户通过邮件,IE地址连接等方式可以方便的与客户端程序进行通信。要实现IE自定义地址协议,首先应该要在注册表里将协议定义好。如下:找到注册表里面的HKEY_CLASSES_ROOT项,在里面新建一个项,我这里取名iDesk,这个项,就是协议的入口,接下来上图:文件0)編辑0)查看辺收藏夹@)帮助0)SQiDeskJ名称1类型[数据h-CjDefaulticon&Qshellopen2画®t认)REG_SZ"C:\FrogramFiles\snda\i按照上图格式建项,mand中数据的值是启动程序入口地址,这点很重要,这个是你要与之通信的那个程序的安装地址,那么下面我来贴上实现上述功能的代码:III<summary>///创建注册表值III</summary>III<paramname=Hvalue/param>publicstaticvoidCreateRegeStartKey(stringvalue)try{RegistryKeykey=;RegistryKeyiDesk=("iDeskn);iDesk・SetValue(nn,nUrlprotocoln);iDesk・SetValue(HUrlprotocolnrvalue);RegistryKeyDefaultIcon=(niDesk\\DefaultIconn);DefaultIcon・SetValue(n value+n,0n);mand=(niDesk\\shell\\open\\commandn);command・SetValue(nnAstring・Format(n\n{0}\\\n%l\n\value));catch(Exceptionex){ExceptionHandler・CreateExceptionLog(ex);}}有了注册表的这些项,那么下面与客户端程序通信就比较容易了,这些项要你在安装客户端的时候写进注册
IE浏览器—自定义地址协议详解 来自淘豆网www.taodocs.com转载请标明出处.