web浏览器调取本地程序

Posted 叫我小康康

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web浏览器调取本地程序相关的知识,希望对你有一定的参考价值。

先在电脑上找到你需要在浏览器上调取的文件的路径

  比如:C:\\\\Windows\\\\System32\\\\notepad.exe

新创建一个text文件(名字随便起,调取程序的时候不会用到),在其中编辑:

  Windows Registry Editor Version 5.00

  //版本信息,可以自己编辑,也可以直接复制

  [HKEY_CLASSES_ROOT\\Program]

  //这里的Program是自己定义的,在web中调用的时候要用到

  "URL Protocol"="C:\\\\Windows\\\\System32\\\\notepad.exe"

  //找到你要调用程序的路径

  @="WebshellProtocol"

  //@后面为随意的字符串,调用的时候不会被用到

  [HKEY_CLASSES_ROOT\\Program\\DefaultIcon]

  //增加分支,以后不会用到,但是这里面的Program必须跟上面对应上

  @="C:\\\\Program Files (x86)\\\\PWFileVersion\\\\FileVersion.exe,1"

  //要跟上面的C:\\\\Windows\\\\System32\\\\notepad.exe路径对应上,后面的1必须要有

  [HKEY_CLASSES_ROOT\\Program\\shell]

  //增加分支,跟上面的一样Program对应上就好,下面的两行也是一样

  [HKEY_CLASSES_ROOT\\Program\\shell\\open]

  [HKEY_CLASSES_ROOT\\Program\\shell\\open\\command]

  @="\\"C:\\\\Windows\\\\System32\\\\notepad.exe\\" \\"%1\\""

  //跟你要调用的程序路径对应上就行,后面的%1代表参数

配置完成,把text文件的后缀名改为.reg即可,注册表信息就已配置完。(注:上面注册表配置代码的中文只是解释,千万别把中文也复制上去)

注册表配置完成之后双击会有一个提醒框,我这里是这样:

 

点击是即代表注册表已经运行,然后在网页中使用a标签调取即可(href = "Program:")(注:href后面的值就是第二行后面自己定义的值,这里定义的是:Program(后面要带冒号))。例:

也可以用js去动态打开这个程序(注:Program:我很帅中的我很帅是自己传的参数,参数不一样,打开的文件也不一样,具体自己可以试一下),例:

就这么多,其实也不难。

以上是关于web浏览器调取本地程序的主要内容,如果未能解决你的问题,请参考以下文章

自定义浏览器协议,实现web程序调用本地程序

如何在浏览器本地存储 Flutter Web 应用程序中保存对象列表

微信浏览器调取摄像头拍摄视频

vue调取接口的时候出现跨域

如何在web页面上获取客户端的串口数据

Web 应用程序访问用户的文件系统