根据目前搜索到的信息,主要有两种方式:
-
ActiveX,但是仅限IE浏览器
-
URL Protocol方式,具备跨平台特征。
所以我们就以windows
下的chrome
浏览器作为本次实验的环境。
目标:点击超链接,调用本地的LINQPad 5.exe
-
win + R
,输入regedit
进入注册表 -
选择
HKEY_CLASSES_ROOT
右键-新建
-项
,名称自定义,如invokeLinq
,在该项上右键-新建
-字符串值
,名称为URL Protocol
,数据默认为空 -
选择
invokeLinq
3.1 右键-
新建
-项
,名称为DefaultIcon
3.2 选择
DefaultIcon
,右侧显示已有一条默认记录,修改默认记录的值为要启动的客户端的路径,如D:\soft\LINQPad5\LINQPad.exe
-
选择
invokeLinq
4.1 右键-
新建
-项
,名称为shell
4.2 右键
shell
-新建
-项
,名称为open
4.2 右键
open
-新建
-项
,名称为command
4.2 选择
command
,右侧显示已有一条默认记录,修改默认记录的值为要启动的客户端的路径,如D:\soft\LINQPad5\LINQPad.exe
- 新建invoke.html,内容如下
//此处invokeLinq为注册表设置-步骤2中自定义的名称
<a href="invokeLinq:">调用LinqPad</a>
- 点击invoke.html,会跳出
始终在关联的应用中打开这些类型的链接
的弹窗提示(后续会针对这个问题继续探讨),点击确认。
参考资料: