Windows中从浏览器启动本地应用程序 Pluggable Protocol

项目中需要从网页中打开一个本地应用程序,并传递给应用程序启动参数

方法有很多,最简单的一种是通过自定义协议,类似于mailto http https 主流浏览器都支持

只需要在注册表中添加相应内容即可

官方叫做 Pluggable Protocol,浏览器只完成启动程序,传递参数工作,程序独立运行,不能与网页交互

比如

自定义协议名为DEMO,

要启动的应用程序完整路径为 C:\DIR\EXE.exe

Web 请求为 DEMO://AAA:a;BBB:b;CCC:c;

HKEY_CLASSES_ROOT
   DEMO                                   (Default) = "URL:DEMO Protocol"
                                           URL Protocol = ""
      DefaultIcon                         (Default) = "C:\DIR\EXE.exe,1"
      shell
         open
            command                       (Default) = "C:\DIR\EXE.exe" "%1"

command 就是启动程序的命令行 

官方文档中讲 %1 将会被替换为 协议内容 DEMO://AAA:a;BBB:b;CCC:c;   并且URI编码

                        但实际程序接收到的参数为 DEMO://AAA:a;BBB:b;CCC:c;/  多出了一个字符 (测试环境 Firfox21.0 chrome27.0.1453.94 IE8 360浏览器)

注册表内容还可以添加到HKEY_LOCAL_MACHINE\SOFTWARE\Classes\下,结构与HKEY_CLASSES_ROOT相同

 

官方文档 http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

 

转载于:https://www.cnblogs.com/wuqincao/p/3148045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值