web打开本地程序,未安装则提示要求安装的实现攻略

需求:根据需求,在打开商城的需要提供打开客户端功能,比如点击商城的购买,需要提示客户安装客户端程序,如果已经安装,则直接打开客户端,类似于QQ目前有两种方式来实现该功能1 通过JS 调用WScript.shell,检测注册表是否已经安装客户端,如果安装在通过Run打开,并且可以传递参数到客户端程序打开客户端示例: function openexe( ) {
摘要由CSDN通过智能技术生成

需求:根据需求,在打开商城的需要提供打开客户端功能,比如点击商城的购买,需要提示客户安装客户端程序,如果已经安装,则直接打开客户端,类似于QQ

目前有两种方式来实现该功能

1 通过JS 调用WScript.shell,检测注册表是否已经安装客户端,如果安装在通过Run打开,并且可以传递参数到客户端程序

打开客户端示例:

  function openexe( ) {
           try {
               debugger;                         
                   var wsh = new ActiveXObject("WScript.shell");
                   var s1 = '123|';
                   var s2 = '456|';
                   var c = "file:///C:/Program%20Files%20(x86)/test//StudyActSystem.exe ";//路径最后需要空格                   
                   wsh.Run(c + s1 + s2); //运行程序
           }
           catch (e) {
               alert(e.message + "\n 可能原因如下:\n 1、请检测安装路径是否正确 \n 2、Internet选项->安全->自定义级别->对没有标记为安全的ActiveX控件进行初始化和脚本运行->启用 3、请确认是否已经安装客户端");
           }
       }


1.1  该方法的缺点:需要降低IE安全性,对客户对IE的熟悉度有要求,而且只能在IE上实现,其他浏览器不支持

2 通过注册表协议,打开客户端

第一步:注册协议到客户端注册表中, 下面是注册内容

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


 把这段内容保存成.reg格式的文件,然后双击注册到注册表;也可以通过打包成.reg 文件,在程序安装的时候注册到注册表

第二步:制作自定义Activex控件(该内容是网上收集的资料,仅做学习用)

   利用VS2010作自定义activex控件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值