Skip to content

Latest commit

 

History

History
51 lines (30 loc) · 1.79 KB

浏览器调用本地客户端程序.md

File metadata and controls

51 lines (30 loc) · 1.79 KB

根据目前搜索到的信息,主要有两种方式:

  1. ActiveX,但是仅限IE浏览器

  2. URL Protocol方式,具备跨平台特征。

所以我们就以windows下的chrome浏览器作为本次实验的环境。 目标:点击超链接,调用本地的LINQPad 5.exe

一. 注册表设置

  1. win + R,输入regedit进入注册表

  2. 选择HKEY_CLASSES_ROOT右键-新建-,名称自定义,如invokeLinq,在该项上右键-新建-字符串值,名称为URL Protocol,数据默认为空

  3. 选择invokeLinq

    3.1 右键-新建-,名称为DefaultIcon

    3.2 选择DefaultIcon,右侧显示已有一条默认记录,修改默认记录的值为要启动的客户端的路径,如D:\soft\LINQPad5\LINQPad.exe

  4. 选择invokeLinq

    4.1 右键-新建-,名称为shell

    4.2 右键shell-新建-,名称为open

    4.2 右键open-新建-,名称为command

    4.2 选择command,右侧显示已有一条默认记录,修改默认记录的值为要启动的客户端的路径,如D:\soft\LINQPad5\LINQPad.exe

二. 浏览器设置

  1. 新建invoke.html,内容如下
//此处invokeLinq为注册表设置-步骤2中自定义的名称
<a href="invokeLinq:">调用LinqPad</a>

三. 调用

  1. 点击invoke.html,会跳出始终在关联的应用中打开这些类型的链接的弹窗提示(后续会针对这个问题继续探讨),点击确认。

参考资料: