我们经常需要通过生成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即可