0
点赞
收藏
分享

微信扫一扫

JS - 调用本地 .exe 文件



方法就是 url protocol 的方式来实现。用这种方式实现,任何浏览器都兼容,不会存在只有IE或FIREFOX才行的情况。都用过QQ、迅雷、电驴,在网页上点击的时候,就会弹出QQ,迅雷,电驴的下载界面,用的就是这个原理。


1、使用记事本(或其他文本编辑器)创建一个 protocal.reg 文件,并写入以下内容

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Webshell]
@="URL:Webshell Protocol Handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\Webshell\DefaultIcon]
@="C:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe"
[HKEY_CLASSES_ROOT\Webshell\shell]
[HKEY_CLASSES_ROOT\Webshell\shell\open]
[HKEY_CLASSES_ROOT\Webshell\shell\open\command]
@="\"C:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe\" \"%1\""

2、修改参数

使用记事本打开文件后,按照下图说明修改相关参数。

2.1、修改连接名称

修改红框内名称自定义即可,全部使用英文字符(该名称即为调用时的 href),共六处。

JS - 调用本地 .exe 文件_JS

2.2、修改可执行文件路径

修改红框内可执行文件路径,共两处。需注意:文件路径中使用 “//” 分割。

JS - 调用本地 .exe 文件_JS_02

3、执行 protocal.reg 文件

4、创建调用连接

连接地址为步骤 1 中所命名的链接名称,后面加://hello,(hello为传递参数,可任意添加)。

JS - 调用本地 .exe 文件_文件路径_03

5、应用

<el-dropdown-menu slot="dropdown" class="dropdown-menu">
<el-dropdown-item @click.native="openCalc">
<i class="iconfont calc">&#xeba0;</i>
计算器
</el-dropdown-item>
</el-dropdown-menu>
openCalc() {
protocolCheck("Webshell://",() => {
this.$confirm('您的安全协议未安装到本机,暂时无法使用魔法棒工具栏,是否查看安装教程?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
window.open("https://wxgj-oss.oss-cn-hangzhou.aliyuncs.com/other/zxz.reg")
}).catch(() => {
this.$message({type: 'error', message: '服务器异常'})
})
})
}

Ps:使用前,先要下载 protocolcheck.js 到项目中。


举报

相关推荐

0 条评论