emule需要关联浏览器中ed2k下载协议,这个功能在functional.cpp中实现。这里介绍一下关联下载协议的注册表操作方法。
下面是emule在注册表中添加的内容:
在注册表里查了几个协议,如http、ftp、gopher,他们在注册表中也有有如ed2k键同样的内容,因此推测,这两个值项给出了一种下载协议的标示。下面的的defaulticon是该协议的图标(不对应文件,所以图标没用,也不知道放这啥意思)。command键是另一个关键点,它的默认值给出了使用什么软件来打开该协议内容。
emule在这里挺友好,将已有的关联文键和图标做了备份,如上图的 OldIcon,OldDefault。知道了这些,在看emule中文件关联的那部分代码应该就简单了吧,呵呵!