web浏览器点击实现调用本地应用程序(exe)
1.注册表注册要调用的exe
注册表注册要调用的exe
nodejs child_process注册命令
//不传递参数
const execSync = require('child_process').execSync
const cmd1 = `echo y| reg add HKCR\\client-r /v "URL Protocol" /t REG_EXPAND_SZ /d "E:\\r.exe"`;
const cmd2 = `echo y| reg add HKCR\\client-r\\shell\\open\\command /t REG_EXPAND_SZ /d "E:\\r.exe"`;
//传递参数
const cmd3 = `echo y| reg add HKCR\\client-re /v "URL Protocol" /t REG_EXPAND_SZ /d "\"E:\\re.exe\" \"%1\""`;
const cmd4 = `echo y| reg add HKCR\\client-re\\shell\\open\\command /t REG_EXPAND_SZ /d "\"E:\\r.exe\" \"%1\""`;
const res4 = execSync(cmd4, { encoding: binaryEncoding }).toString();
2.前端页面添加调用按钮
前端页面添加调用按钮
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>打开EXE</title>
</head>
<body>
<a href="client-r://">调用1</a>
<a href='client-re://,param1,'>调用2</a>
</body>
</html>
3.使用.bat调用exe
bat文件调用的默认目录为C:\Windows\System32。
使用.bat调用exe并传递相应参数。
切换到bat脚本所在目录并需要传递2个参数。
第一个参数为要执行的exe文件,第二个参数为exe执行所需参数。
@echo off
cd /d "%~dp0"
@echo off
start %2 %3
问题:bat脚本执行时弹出黑窗
处理方式:使用Bat to Exe Converter将bat文件转换为exe文件,选择EXE格式:32位|Windows(隐形),点击转换。