调用WScript.Shell时产生Automation 服务器不能创建对象的错误

我们经常需要通过生成ActiveXObject("WScript.Shell");来调某一exe文件,

//设置网页打印的页眉页脚为空   

var HKEY_Root,HKEY_Path,HKEY_Key;    
     HKEY_Root="HKEY_CURRENT_USER";    
     HKEY_Path="//software//Microsoft//Internet Explorer\\PageSetup\\"; 
     function PageSetup_Null()   
      {    
        try {    
                var Wsh=new ActiveXObject("WScript.Shell");    
        HKEY_Key="header";    
        Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");    
        HKEY_Key="footer";    
        Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");    
        }  catch(e)
        {
        alert("Error:"+e.message+"。");
        }    
      }

 

//调用计算器

     var   wshShell   =   new   ActiveXObject("WScript.Shell");   
     wshShell.run("calc.exe");   

 

 

但是经常会报“automation服务器不能创建对象”的错误 
以下是解决方案

1、如果是Scripting.FileSystemObject (FSO 文本文件读写)被关闭了, 
开启FSO功能即可,在“运行”中执行regsvr32 scrrun.dll即可

2、安全模式设置成“中”,如果javascript脚本中报这个错误, 
还应将IE的安全设置“不允许运行未标记为安全的activeX控件”启用即可。

注意如果您将相应的网站设成“受信任的站点”, 
必须对“受信任的站点”进行相应的IE安全设置,此时如果对“Internet”IE设置将是徒劳的。

3、有些脚本需要微软的 MSXML 控件才能进入。 
当使用 IE 5 以上版本的缺省安全模式时,会提示是否接受 MSXML 控件, 
如果接受,MSXML 将自动安装到您的机器上(得等上几分钟)。 
如果自动安装不成功,可以自行下载和安装 MSXML 3.0 SP7。 
有时是由于msxml 3服务被关掉了,使用regsvr32 msxml3.dll即可

posted @   遥望星空  阅读(1841)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2014-12-25 cmd下命令提示符下杀进程主要有三种方法
2013-12-25 解决 Operation must use an updateable query
2013-12-25 HTTP Error 404.2 - Not Found The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server(转)
点击右上角即可分享
微信分享提示