这些日子做项目的时候Boss刚好提了这么个需求,经一位同事指点,研究了一下,原来是这样实现的。
首先查看一下电驴资源的链接,可以看到全部是已ed2k开头的,比如这个:
ed2k://|file|06527奇趣大自然_微观世界(下).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。