网页调用本地程序(Windows下浏览器全兼容)

时间:2024-03-31 11:05:02

用网页调用本地应用程序的思路是,先进行注册表注册自定义一个URL Protocol协议,再利用URL Protocol实现网页调用本地应用程序。

1.先写一个注册表文件,将其保存为.reg后缀的注册表执行文件:

 Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\PWFileVersion]
"URL Protocol"="C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe"
@="FileVersionProtocol"
[HKEY_CLASSES_ROOT\PWFileVersion\DefaultIcon]
@="C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe,1"
[HKEY_CLASSES_ROOT\PWFileVersion\shell]
[HKEY_CLASSES_ROOT\PWFileVersion\shell\open]
[HKEY_CLASSES_ROOT\PWFileVersion\shell\open\command]
@="\"C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe\" \"%1\""

一行行来解释:

(1)表示注册表工具的版本信息;

(2)PWFileVersion表示的时注册表的HKEY_CLASSES_ROOT下新增一个PWFileVersion树(理解为在HKEY_CLASSES_ROOT下新增一个文件夹就可以了)

(3)你在网页中要调用打开的程序绝对路径,记得一定要是exe文件

(4)协议名称,可以是任意字符串,后面不会用到

(5)在PWFileVersion下新增一个分支,不用管

(6)地址和(3)中保持一致,1照抄

(7)(8)(9)和(5)一样,新增分支而已

(10)向要调用的程序内传递参数。前面的地址与(3)保持一致,后面的%1表示参数。敲黑板,这里面的/千万不要有所遗漏!本人在这个坑上蹲了很久- -;

运行reg文件,进行注册表注册。

这时候在浏览器输入:

pwfileversion://即可调用该程序

pwfileversion://argument随便什么字符串,即可将参数传入该程序

参考:

利用URL Protocol实现网页调用本地应用程序

从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法