Chrome使用自定义协议打开本地程序…

公司的系统基于Chrome开发,最近用户提出一个需求,在Chrome上点击一个链接跳转到一套基于IE开发的系统上。
功能并非不可能实现,但是靠纯Java是不可能实现,所以我们需要用到外部协议,即自定义协议,通过协议打开本地程序。

如下图:
Chrome使用自定义协议打开本地程序并运行IE打开网页
Chrome使用自定义协议打开本地程序…_第1张图片

1,复制以下代码到记事本,后缀名改为 *.reg(注册表文件)。

WindowsRegistry Editor Version 5.00  
  
[HKEY_CLASSES_ROOT\openIE] 
@="URL:OpenIE Protocol" 
"URLProtocol"=""  
  
[HKEY_CLASSES_ROOT\openIE\DefaultIcon] 
@="iexplore.exe,1" 
  
[HKEY_CLASSES_ROOT\openIE\shell] 
  
[HKEY_CLASSES_ROOT\openIE\shell\open] 
  
[HKEY_CLASSES_ROOT\openIE\shell\open\command] 
@="cmd /cset m=%1 & call set m=%%m:openIE:=%% & call \"C:\\ProgramFiles\\Internet Explorer\\iexplore.exe\" %%m%% &exit" 


注:最后一行其实是打开本地程序的路径,根据每台机器的不同可能要修改IE的安装路径(一般不需要修改)。

把记事本后缀改为*.reg后,双击运行。 
Chrome使用自定义协议打开本地程序…_第2张图片

页面上调用: 
以上即可解决客户提出的需求,不足之处则是在打开IE的时候会弹出一个CMD的小黑框。

解决办法:已经写好了一个去掉小黑框的 *.exe, 链接:http://pan.baidu.com/s/1sllgzxV 密码:ugpk

注:如果使用上述云盘链接提供的方案,则a标签需要修改为: 


即可。

你可能感兴趣的:(JAVA)