首页 > 代码库 > js调用可执行性(exe)文件(仅IE可用)

js调用可执行性(exe)文件(仅IE可用)

jQuery:

$(function(){

                 $(‘#exsp‘).click(function(exe){

                    exe.value=http://www.mamicode.com/$(‘.exsp‘).attr(‘val‘); >                     
                    try   {  
                        var   objShell   =   new   ActiveXObject("wscript.shell");  
                        objShell.Run($(‘.exsp‘).attr(‘val‘));  
                        objShell   =   null;  
                    }  
                    catch (exe){
                        alert(‘找不到文件"‘+$(‘.exsp‘).attr(‘val‘)+‘"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。‘)  
                    }  
                });

            });

JS:

function   Run(strPath)   {  
    // exit;
    exe.value=http://www.mamicode.com/strPath;
    try   {  
        var   objShell   =   new   ActiveXObject("wscript.shell");  
        objShell.Run(strPath);  
        objShell   =   null;  
    }  
    catch (e){
        alert(‘找不到文件"‘+strPath+‘"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。‘)  
    }  

html:

<input type="button" id="exsp" value=http://www.mamicode.com/"播放课程" >


web服务器的js让客户端执行exe  


在本地调用ActiveXObject不会出现问题,问题是在web服务器出现的。总是提示服务器不能创建对象。

那是因为ie里面被禁在外网执行。因此我们可以提示客户端的ie选项的安全的自定义级别里面的"对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本‘‘ 启动就ok了,在里面有四种安全设置。internet 指所有网站都可以运行ActiveXObject,用起来客户端很危险。我们可以让客户端把我们的web服务器添加到受信任的站点,然后对其自定义级别启动"对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本‘‘ 。




//调用exe
function exec(command,type) {
 try {
  if (navigator.userAgent.indexOf("MSIE") <= 0) {
   alert("请使用IE浏览器查看");
   return;
  }
  var fso, f, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  if(!fso.FileExists(command)){
   var msg="";
   if(type=="cz"){
    msg="未找到"+command;
   }else{
    msg="可能未安装视频插件,确定下载安装吗?";
   }
   var flag=confirm(msg);
   if(flag){
    return "bucunzai";
   }else if(type!="cz"){
    return "cunzai"
   }
   return;
  }
 }
 catch (e) {
  if(e.number==-2146823281){
   var msg="";
   if(type=="cz"){
    msg="未找到"+command;
   }else{
    msg="可能未安装视频插件,确定下载安装吗?";
   }
   var flag=confirm(msg);
   if(flag){
    return "bucunzai";
   }else if(type!="cz"){
    return "cunzai"
   }
   return;
  }
  alert(e.number+":"+e.message);
  //alert("命令已经被用户禁止!请在ie选项的安全模块将此网站加入可信站点并启动该自定义级别中的‘对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本‘选项,之后刷新页面");
  return "命令已经被用户禁止!请在ie选项的安全模块将此网站加入<可信站点>并<启动>该自定义级别中的‘对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本‘选项,之后<刷新>页面";
 }
 if(type!="cz"){
  return "cunzai";
 }
 //alert(command);
 window.oldOnError = window.onerror;
 window._command = command;
 window.onerror = function (err) {
  if (err.indexOf("utomation") != -1) {
   //alert("命令已经被用户禁止!请在ie选项的安全模块将此网站加入可信站点并启动该自定义级别中的‘对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本‘选项,之后刷新页面");
   return "命令已经被用户禁止!请在ie选项的安全模块将此网站加入<可信站点>并<启动>该自定义级别中的‘对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本‘选项,之后<刷新>页面";
  } else {
   return false;
  }
 };
 var wsh = new ActiveXObject("WScript.Shell");
 if (wsh) {
  wsh.Run(command);
 }
 window.onerror = window.oldOnError;
 return window.oldOnError;
}