js调用本地exe程序:
实现
一.新建txt文件,复制下面代码 自定义协议universalLinks(可修改)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\universalLinks]
@="universalLinks Protocol"
"URL Protocol"= ""
[HKEY_CLASSES_ROOT\universalLinks\DefaultIcon]
@="D:\\QMDownload\\SoftMgr\\HBuilderX.2.7.14.20200618.full\\HBuilderX\\HBuilderX.exe"
[HKEY_CLASSES_ROOT\universalLinks\shell]
@= ""
[HKEY_CLASSES_ROOT\universalLinks\shell\open]
@= ""
[HKEY_CLASSES_ROOT\universalLinks\shell\open\command]
@="\"D:\\QMDownload\\SoftMgr\\HBuilderX.2.7.14.20200618.full\\HBuilderX\\HBuilderX.exe\" \"%1\""
修改:
- 修改txt文件里的路径(注意:斜杠要用双斜杠)
红色部分为调用程序exe的文件路径
绿色部分为固定写法
- 保存txt文件,并修改为xxx.reg文件。最后双击运行
二.js 调用协议
// 一键打开应用程序
open_miniapp() {
console.log(navigator.userAgent)
// 检测用户的设备是否是Windows系统
if (/windows|win32/i.test(navigator.userAgent)) {
// 检测用户的浏览器是否能使用universalLink
let openApp = false;
let userAgent = navigator.userAgent
//判断是否 Firefox浏览器
if (userAgent.indexOf("Firefox") > -1) {
openApp = true;
}
//判断是否 Chrome浏览器
if (userAgent.indexOf("Chrome") > -1) {
openApp = true;
}
//判断是否 Edge浏览器
if (userAgent.indexOf("Edg") > -1) {
openApp = true;
}
if (openApp) {
try {
window.location.href = "universalLinks://test.mcdx";
} catch (err) {
console.log(err)
this.$message.warning("出错了,请手动打开小程序!")
}
} else {
this.$message.warning("您的浏览器不支持自动打开小程序,请手动打开小程序!")
this.$notify.warning({
title: "提示",
content: "推荐使用Chrome浏览器!",
placement: "bottom-right",
duration: 3000
})
}
} else {
this.$message.warning("您的设备暂不支持运行小程序,请在Windows电脑上进行操作!")
}
},
window.location.href = “universalLinks://test.mcdx”; test.mcdx为传递的参数 (需要编写exe文件来接受参数,客户需要安装这个exe文件)