自定义协议通过浏览器唤起本地exe

第一步写入注册表

@echo off
echo =====================注册打印控件===================
echo 注册打印控件到注册表,360等杀毒软件误报请“允许运行”
echo ====================================================
echo 请按任意键开始注册
pause>nul
set v=%~dp0
echo Windows Registry Editor Version 5.00 >regist.reg
echo [HKEY_CLASSES_ROOT\myprotocol] >>regist.reg
echo "URL Protocol"="%v:\=\\%myapp.exe" >>regist.reg
echo @="myprotocol" >>regist.reg
echo [HKEY_CLASSES_ROOT\myprotocol\DefaultIcon] >>regist.reg
echo @="%v:\=\\%myapp.exe,1" >>regist.reg
echo [HKEY_CLASSES_ROOT\myprotocol\shell] >>regist.reg
echo [HKEY_CLASSES_ROOT\myprotocol\shell\open] >>regist.reg
echo [HKEY_CLASSES_ROOT\myprotocol\shell\open\command] >>regist.reg
echo @="\"%v:\=\\%myapp.exe\" \"%%1\"" >>regist.reg
regedit /s %v%regist.reg
del /q regist.reg
echo 打印控件注册成功,按任意键退出
pause>nul

将上述代码复制到本地,新建一个text文件,将内容复制进去,保存为bat文件。
注意要将这个tab文件和需要打开的exe文件放在同一文件夹下,而且要替换上文的myapp.exe为要打开的exe!
注意要将这个tab文件和需要打开的exe文件放在同一文件夹下,而且要替换上文的myapp.exe为要打开的exe!
注意要将这个tab文件和需要打开的exe文件放在同一文件夹下,而且要替换上文的myapp.exe为要打开的exe!

自定义协议通过浏览器唤起本地exe_第1张图片
文件打开如果乱码不用理会,按任意按钮两次即可。

如果360等提示,请点击允许。

第二步应用打开

function myAppTest() {
     
    window.location = 'openmyapp://openAppTestParams';
}


也可以直接这样

<li><a href="myprotocol://key" target="_black">打开本地exe2a>li>

success
自定义协议通过浏览器唤起本地exe_第2张图片

附录

1.传参
传参参见
2.chrome的限制问题
建议用ie或者360浏览器,如果用chrome则参见

你可能感兴趣的:(原生js,自定义协议)