通过regedit打开注册表,在根目录KEY_CLASSES_ROOT下插入你的exe,具体如何插入,看下面
如果你已经安装了迅雷,那就在KEY_CLASSES_ROOT下找到thunder,右击,导出,保存好,然后用记事本等工具打开,内容如下:
Windows Registry Editor Version 5.00 // 据说必须空一行
[HKEY_CLASSES_ROOT\thunder]
@="URL:迅雷专用链"
"EditFlags"=hex:02,00,00,00 // 这句可以不要 我不知道什么意思
"URL Protocol"=""
[HKEY_CLASSES_ROOT\thunder\DefaultIcon]
@="D:\\Program Files\\Thunder\\Program\\Thunder.exe, 1" // 最后的那个,1不用,我也不知道有什么用
[HKEY_CLASSES_ROOT\thunder\Shell]
[HKEY_CLASSES_ROOT\thunder\Shell\Open]
[HKEY_CLASSES_ROOT\thunder\Shell\Open\command]
@="\"D:\\Program Files\\Thunder\\Program\\ThunderNewTask.exe\" \"%1\""
然后在此基础上改,把thunder换成你喜欢的名字,把exe所在的路径替换上去,比如我的:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AnPlayer]
@="AnPlayerProtocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\AnPlayer\DefaultIcon]
@="E:\\csharpworkspace\\CSharpVLC\\CSharpVLC\\bin\\Debug\\AnPlayer.exe"
[HKEY_CLASSES_ROOT\AnPlayer\Shell]
[HKEY_CLASSES_ROOT\AnPlayer\Shell\Open]
[HKEY_CLASSES_ROOT\AnPlayer\Shell\Open\command]
@="\"E:\\csharpworkspace\\CSharpVLC\\CSharpVLC\\bin\\Debug\\AnPlayer.exe\" \"%1\""
最后一行要注意\,别少了或者多了,注意空行,我不知道哪些空行是必须的,所以就在导出来的文件上改。最后那个%1表示参数,具体下面会讲。然后把上面的文件保存成xxx.reg,后缀名是reg,双击运行就行。成功的话打开注册表,会看到你刚才添加的东西,和迅雷的很类似的,注意DefaultIcon和command必须有值,否则就失败了。
迅雷的这个比较好用,百度网盘的那个太坑。不建议抄。
自己编写的exe不需要安装,比如我是C#写的,可以看到我的路径直接就是C#工程下的debug目录,当然这里是测试用的,正式的话我不会定位到debug目录的,我只是想说这个exe不需要打包成setup,随便丢哪里都行。
然后html的写法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<a href="AnPlayer:1">ds</a>
</body>
</html>
AnPlayer:1 这段话会被赋值到刚才的%1上去,对的,AnPlayer:1整个都过去了,不是1过去了,所以C#收到的是AnPlayer:1。
C#的main改写成这样:main(string[] args),就和java最常见的main方法一样。然后args[0]=AnPlayer:1,你可以通过split函数把1取出来。1可以是任何一个string,比如AnPlayer:helloworld。
其他exe类似吧,我只试过C#。