网页中如何调用WIN本地程序

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

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

复制代码
 1 Windows Registry Editor Version 5.00
 2 [HKEY_CLASSES_ROOT\PWFileVersion]
 3 "URL Protocol"="C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe"
 4 @="FileVersionProtocol"
 5 [HKEY_CLASSES_ROOT\PWFileVersion\DefaultIcon]
 6 @="C:\\Program Files (x86)\\PWFileVersion\\FileVersion.exe,1"
 7 [HKEY_CLASSES_ROOT\PWFileVersion\shell]
 8 [HKEY_CLASSES_ROOT\PWFileVersion\shell\open]
 9 [HKEY_CLASSES_ROOT\PWFileVersion\shell\open\command]
10 @="\"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随便什么字符串,即可将参数传入该程序

下面是测试通过的一个:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TpLink]
"URL Protocol"="D:\\Program Files (x86)\\TP-LINK\\Surveillance\\TP-LINK Surveillance.exe"
@="MyTpLinkProtocol"
[HKEY_CLASSES_ROOT\TpLink\DefaultIcon]
@="D:\\Program Files\\MyApp\\MyApp.exe,1"
[HKEY_CLASSES_ROOT\TpLink\shell]
[HKEY_CLASSES_ROOT\TpLink\shell\open]
[HKEY_CLASSES_ROOT\TpLink\shell\open\command]
@="\"D:\\Program Files (x86)\\TP-LINK\\Surveillance\\TP-LINK Surveillance.exe\" \"%1\""

如果是在网页中,就嵌入到<A>标签里面,如:<A href="TpLink://1"></A>

posted @ 2020-06-08 18:27  酒哥-颢远  阅读(554)  评论(0编辑  收藏  举报