场景:用js执行本地的安装软件,如果不存在就执行安装

操作步骤:

1.前台js代码

<script type="text/javascript">
function exec () {
var command;
var shell = new ActiveXObject("WScript.Shell");
try
{
command = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Directory\\shell\\RadiAnt\\Icon");//从注册表获得软件安装路径
}
catch(e)
{
if(window.confirm("你可能还没有安装Radiant,请下载安装")){
//alert("确定");
window.location.href="jspView/radiantsetup32312921.exe";
return false;
}else{
return false;
}
}//执行exe程序
window.oldOnError = window.onerror;
window._command = command;
window.onerror = function (err) {
if (err.indexOf('utomation') != -1) {
alert('命令' + window._command + ' 已经被用户禁止!');
return true;
}
else return false;
};
var wsh = new ActiveXObject('WScript.Shell');
if (wsh)
wsh.Run("\""+command); //解决目录包含空格问题
window.onerror = window.oldOnError;
}
</script>

执行exec()就能调用本地软件了

以下是需要注意的几点

1.该程序只能在IE上执行

2.注册表路径的查找步骤

右键-复制项名称

3.想要执行改程序必须更改本地的浏览器安全级别

否则报错:ERROR:Automation 服务器不能创建对象

具体参考百度文档:http://jingyan.baidu.com/article/ae97a646d43dc8bbfd461d0b.html

js通过注册表找到本地软件安装路径并且执行的更多相关文章

  1. [荐]使用Js操作注册表

    使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...

  2. asp.net中通过注册表来检测是否安装Office(迅雷/QQ是否已安装)

    原文  asp.net中通过注册表来检测是否安装Office(迅雷/QQ是否已安装) 检测Office是否安装以及获取安装 路径 及安装版本  代码如下 复制代码 #region 检测Office是否 ...

  3. Linux怎么查看软件安装路径 查看mysql安装在哪

    https://jingyan.baidu.com/article/86112f1378bf282737978730.html Linux系统一般都是命令行界面,对于安装的软件也是通过命令安装的.对于 ...

  4. CentOS系统查看软件安装路径

    Linux系统一般都是命令行界面,对于安装的软件也是通过命令安装的.对于软件包更新和卸载等有时候需要查看检查是否有改软件,软件安装存储的路径对于修改配置文件等是必要的.那么怎么查看软件安装路径呢?小编 ...

  5. JS 通过注册表调用启动本地软件

    (关键点:所有软件安装的注册表路径是不会变化的,这个注册表路径需沟通软件商家获取或者通过自己安装在注册表中查找得到) // 调用 注册表编辑类 方法 function run_jxpgj(){//进项 ...

  6. js 判断是否可以打开本地软件

    js判断时候可以打开本地的软件或者插件 点击一个按钮,打开本地的软件,比如问题反馈,需要调起本地的邮箱,填入一些信息. 这个功能<a>标签有提供支持,但是如果本地没有安装邮箱,则无法打开, ...

  7. Inno Setup中做补丁通过注册表获取原程序安装目录

    今天找VM补丁看到的,是个innosetup封装的,所以习惯性的喜欢去看人家的iss文件是怎么编写的. DefaultDirName={reg:HKLM\SOFTWARE\VMware%2c%20In ...

  8. JS判定注册表单的几个方式 及 Ajax进行用户名存在判定

    最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...

  9. 模拟js中注册表单验证

    示例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

随机推荐

  1. Python 实现简单的 Web

    简单的学了下Python, 然后用Python实现简单的Web. 因为正在学习计算机网络,所以通过编程来加强自己对于Http协议和Web服务器的理解,也理解下如何实现Web服务请求.响应.错误处理以及 ...

  2. JPA快速入门(自用)

    该案例为JPA的实体映射案例,将该项目解压导入到myeclipse中即可使用,然后直接使用hibernate即可! 文件地址:files.cnblogs.com/mrwangblog/JPA-Hibe ...

  3. iOS 自动追加版本时间版本号脚本

    buildNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${PROJECT_DIR}/${I ...

  4. Fight my work!

    来这个公司第一天工作, 上来就是装ubantu系统,对于玩linux玩的不熟的我.还是相当吃力的, 反正有问题尝试着自己解决,不会就问, 压力还是很大了. 学了一下企业的历史,理念等相关信息,也没重点 ...

  5. display用法:

    用法: 1.display:fixed: 存在于position定位top,left,right,bottom,fixed:脱离文档流的针对于浏览器窗口大小定位,可以更好的解决"缩小浏览器窗 ...

  6. php Your system does not support any of these drivers: gmagick,imagick,gd2

    缺少这些库时,安装 : apt-get install php5-gd 就可以.

  7. (3)WebApi客户端调用

    1.创建一个应用台控制程序,可以把Model的引用,用下面的方法拖拽上来(解决方案里没有这个文件,只是这个文件的引用)  2.Program.cs using System; using System ...

  8. 3.View绘制分析笔记之onLayout

    上一篇文章我们了解了View的onMeasure,那么今天我们继续来学习Android View绘制三部曲的第二步,onLayout,布局. ViewRootImpl#performLayout pr ...

  9. SQL Server 得到数据库中所有表的名称及数据条数

    --方法一if exists ( select * from dbo.sysobjects where id = object_id(N'[dbo].[TableSpace]') and object ...

  10. echarts之tooltip-position

    当postion为Array时 tooltip : { trigger: 'axis', position:[3,3] //赋予一个[x,y]的位置 } 当postion为function时 tool ...