注册自定义URL协议(zhuan)


 




用过电驴的朋友都知道电驴有这么一个功能,在网页上点击电驴资源的链接,如果你的机器上安装了电驴,那么电驴就会自动启动,然后下载所选的资源。这些日子做项目的时候Boss刚好提了这么个需求,经一位同事指点,研究了一下,原来是酱子实现的。

首先查看一下电驴资源的链接,可以看到全部是已ed2k开头的 /

真没想到原来这么简单的,我在这里记录下来:

如果你要让程序处理某个自定义URL协议的话,只要在HKEY_CLASSES_ROOT注册一下这个协议就可以了。

比如我们网站上的链接都是已CustomProtocol开头的,例如:CustomProtocol://www.MyWeb.com /xxx.rar,我们要求用户点击这个链接的时候启动我们的CustomApp程序来处理,那么我们只要注册CustomProtocol协议就可以了,具体就是在HKEY_CLASSES_ROOT按照下面的样子建立各个项目:

HKEY_CLASSES_ROOT

CustomProtocol                                                                     协议的名称,比如电驴的就是ed2k (Default) = "URL:Custom Protocol"                         协议显示的名称,随便写写 URL Protocol= ""                                                         这里可以写下协议的描述什么的,否则就为空吧

DefaultIcon (Default) = "CustomApp.exe"                     默认图标,一般都是CustomApp的名字

shell

      open

            command       (Default) = "C:\CustomApp.exe" "%1" CustomApp的全路径名

这样注册下就ok了,当用户点击网站上那些以CustomProtocol开头的链接的时候,系统就会调用CustomApp,并且把完整的链接作为参数传给CustomApp。

非常简单吧,如果还有什么不明白的,安装下电驴,在注册表里查下HKEY_CLASSES_ROOT下面的ed2k项,看看电驴是怎么写的。

 ​