前言
描述:本文介绍在网页里通过url protocol方式调用本地exe文件的方法,主要分为两步,首先,编写注册表,然后页面里调用。
一、第一步,编写注册表,注册url protocol
- 这里以打开记事本为例。首先创建一个记事本文件,名字随意,后缀为reg,用记事本打开该文件,添加内容如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\MyNotePad]
@="MyNotePad Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\MyNotePad\DefaultIcon]
@="C:\\WINDOWS\\NOTEPAD.EXE"
[HKEY_CLASSES_ROOT\MyNotePad\shell]
@=""
[HKEY_CLASSES_ROOT\MyNotePad\shell\open]
@=""
[HKEY_CLASSES_ROOT\MyNotePad\shell\open\command]
@="\"C:\\WINDOWS\\NOTEPAD.EXE\""
- 内容里6处MyNotePad名字,为注册的名称,可以改为自己的想要的名字,页面调用时采用该名字。
- 内容里2处C:\WINDOWS\NOTEPAD.EXE为exe文件的全路径,替换为自己的exe文件路径。注意必须是\文件路径复制出来是单\ 。
- 双击运行编写的注册表文件,添加到系统注册表,运行时会弹出以下提示框,点击是。
点击是后,提示以下内容,表示注册表添加成功
二、第二步,页面调用
1.引入库
代码如下(示例):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="public/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>前端JS实现启动本地.exe客户端程序</title>
</head>
<body>
<a href="POSTEK://">打开程序</a>
<button onclick="launch()">打开程序</button>
</body>
<script>
function launch() {
var o = new ActiveXObject()
o.exec('F:\\APIfox\\Apifox.exe')
}
</script>
</html>