JAVA自定义协议实现网页启动应用程序

        怎样从网页上直接启动客户端应用程序?像启动 QQ、淘宝旺旺那样,从过点击网页里的超链接,就直接启动一个本地程序。面对这种情况也许你会想到ActiveX,但当你发现对方的客户们用IE浏览器的很少,而大多数用浏览器并不支持ActiveX,像这种具有不安全操作的ActiveX还得需要相关安全设置和数字签名的时候,你会放弃这种想法。
        这时再介绍一种方法给你,那就是JAVA自定义协议,其实这种技术在我们上网时经常可以遇到,如在浏览器中敲ftp://xxxxx.xxx 时,浏览器会自动跳转到ftp客户端或者windows资源浏览器中打开;再如,如果我们安装了迅雷后,点击网页中xunlei://xxx.xxx时,系统会自动启动web迅雷或迅雷软件。我们在网页中点播放音乐或电影视频之类的点播按钮时(例如mms://xxx.xx),客户端相关的播放软件就会自动触发。这显然是某种协议与系统中的应用程序存在着一些关联,而且你可能发现这种现象可以发生在任何浏览器下,这也是这种方法的过人之处。
        那我们怎么样才能自定义这种协议呢,答案是修改注册表中的信息,编写个.reg文件来更新注册表,按照如下格式编写这个.reg文件并执行。
  Windows Registry Editor Version 5.00
  [HKEY_CLASSES_ROOT\自定义协议名称]
  @="URL:自定义协议名称 Protocol"
  "URL Protocol"=""
  [HKEY_CLASSES_ROOT\自定义协议名称\DefaultIcon]
  @="应用程序路径"
  [HKEY_CLASSES_ROOT\自定义协议名称\shell]
  @=""
  [HKEY_CLASSES_ROOT\自定义协议名称\shell\open]
  @=""
  [HKEY_CLASSES_ROOT\自定义协议名称\shell\open\command]
  @="应用程序路径" \"%1\""


  例如在网页中启动一个计算器的应用程序如下:
  Windows Registry Editor Version 5.00
  [HKEY_CLASSES_ROOT\TestCalc]
  @="URL:TestCalc Protocol"
  "URL Protocol"=""
  [HKEY_CLASSES_ROOT\TestCalc\DefaultIcon]
  @="c:\\windows\\system32\\calc,1"
  [HKEY_CLASSES_ROOT\TestCalc\shell]
  @=""
  [HKEY_CLASSES_ROOT\TestCalc\shell\open]
  @=""
  [HKEY_CLASSES_ROOT\TestCalc\shell\open\command]
  @="\"c:\\windows\\system32\\calc\" \"%1\""


  执行完这个.reg文件后,在浏览器中敲入TestCalc://xxx试试,你会发现,你的目的就达到了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值