HTML启动本地EXE的通用方法
-
技术思路
- 1、在注册表HKEY_CLASSES_ROOT下添加键值。
- 2、通过调用注册表来启动一个用以启动其他应用的批处理。
- 3、编写一个可以根据输入的应用程序路径参数,启动应用的批处理程序。
-
实施示例
-
修改注册表
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\LocalAppStarter] @="URL:LocalAppStarter" "URL Protocol"="" [HKEY_CLASSES_ROOT\LocalAppStarter\DefaultIcon] @="D:\\Chrome\\Application\\chrome.exe,1" [HKEY_CLASSES_ROOT\LocalAppStarter\shell] [HKEY_CLASSES_ROOT\LocalAppStarter\shell\open] [HKEY_CLASSES_ROOT\LocalAppStarter\shell\open\command] @="D:\\LocalAppStarter.bat %1"
-
编写启动本地EXE的批处理脚步LocalAppStarter.bat
@echo off echo "启动批处理" %1 echo "路径" %2 set exepath=%2 setlocal enabledelayedexpansion #由于是通过URL传过来的参数,路径中的空格会被编码成%20 #将路径中%替换为下划线 set "exepath=!exepath:%%=_!" #将路径中的_20替换为空格 set "exepath=!exepath:_20= !" #将路径中的//替换为/ set "exepath=!exepath://=/!" #使用start 启动本地应用 start "" "!exepath!" endlocal exit
-
编码HTML启动本地应用
<html> <head> <meta charset="UTF-8"> <title>启动本地应用</title> </head> <body> <a href='LocalAppStarter://WeChat,D://Program Files (x86)//Tencent//WeChat//WeChat.exe'>WeChat</a> <a href='LocalAppStarter://QQ,D://Program Files (x86)//Tencent//QQ//QQ.exe'>QQ</a> </body> </html>
-
-
参考
- 通过html页面调用本地exe程序