dropme——事在人为

走SB的路,让NB去说吧!!! o(∩_∩)o

注册自定义URL协议

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

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

ed2k://|file|06527%E5%A5%87%E8%B6%A3%E5%A4%A7%E8%87%AA%E7%84%B6_%E5%BE%AE%E8%A7%82%E4%B8%96%E7%95%8C%28%E4%B8%8B%29.rmvb|89831750|02C2BAFDCC4950CC3C2E6F583C07E896|h=T3ZB75TXBLJU5AAL6WSTYWMT6YJPUIQS|/

 

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

如果你要让程序处理某个自定义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项,看看电驴是怎么写的。

 

而普通的文件下载一般都是Http或者Ftp的, 那么大家看下MSDN这篇文章,就全明白了:http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp?frame=true
阅读更多
文章标签: url command shell file c
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

注册自定义URL协议

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭