js在浏览器调起本地应用程序
最近遇到了用户在浏览器打开本地应用的需求
网上一顿搜索以后顺利调起,记录一下过程:
(P.S:一般比较知名的应用都会提供协议打开自己,本文只针对没有协议的应用)
- 新建一个 xxx.reg后缀的注册表文件
- 在文件中输入以下代码
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\sni] @="sniProtocol" "URL Protocol"="sniProtocol" [HKEY_CLASSES_ROOT\sni\DefaultIcon] @="D:\sni\Snipaste.exe,1" [HKEY_CLASSES_ROOT\sni\shell] [HKEY_CLASSES_ROOT\sni\shell\open] [HKEY_CLASSES_ROOT\sni\shell\open\command] @="\"D:\\sni\\Snipaste.exe\" \"%1\""
- 然后找到你要打开应用的路径入D:\sni\Snipaste.exe
- 进行如下修改替换
- 红色标记自己取个名字全部替换,蓝色标记换成你要打开应用的路径
保存后运行这个文件然后win+r 打开运行尝试运行一下:
浏览器中使用js调用如下
window.open("sni://")
然后就会发现应用被正常调起了