js打开本地exe程序

一:通过IE浏览器自带的ActiveX控件打开

        function Exec(filePath) {       //filePath:参数,如果不需要参数则不需要,根据自己的需求来     
            if (window.ActiveXObject) {
                try {                   
                    var shell = new ActiveXObject("WScript.Shell");
                    var fso = new ActiveXObject("Scripting.FileSystemObject");
                    var exePath = shell.RegRead("HKEY_CLASSES_ROOT\\MBSFiles\\Shell\\Open\\Command\\");  //根据注册表信息找到本地应用程序安装路径
                    exePath = exePath.split("%")[0].substring(0, exePath.length - 1);                   
                    filePath = $("#hfFilePath").val() + filePath.split("HaiKou\\")[1];
                    var para = exePath + " " + filePath; //如果没有参数则去掉filePath
                    if (fso.FileExists(exePath)) {   //检测是否安装了                    
                        shell.exec(para); //打开
                    }
                    else {
                        alert("未能检测到本地已安装该软件");
                    }
                } catch (e) {
                    alert(e.message);
                }               
            }
            else {
                alert("请使用IE并正确配置浏览器!");
            }
        }


二:通过协议打开

     function Exec(filePath) {           
            try {
                var shell = new ActiveXObject("WScript.Shell");
                var fso = new ActiveXObject("Scripting.FileSystemObject");
                filePath = filePath.split("HaiKou\\")[1].toString().split("\\"); //参数
                filePath = $("#hfFilePath").val() + filePath[0] + "//" + filePath[1] + "//" + filePath[2];
                var exePath = shell.RegRead("HKEY_CLASSES_ROOT\\MBSFiles\\Shell\\Open\\Command\\");         
                exePath = exePath.split("%")[0].split("\"")[0];
                if (fso.FileExists(exePath)) {                      
                    window.location.href = "Aglodongbe://" + filePath;  //Aglodongbe为注册表中将要打开的exe的项 ;直接在浏览器中输入也能打开exe程序
                }
                else {
                    alert("未能检测到本地已安装辅助工具");
                }
             } catch (e) {
                 alert("未能检测到本地已安装该软件");
             }                    
        }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值