从批处理文件启动时,ActiveX控件无法在HTA中加载

时间:2013-05-23 19:23:05

标签: batch-file activex hta

我有一个HTA,它包含ActiveX控件的对象标记。 ActiveX控件已在我的机器上正确注册:

<object classid="clsid:AAAA0DA1-F887-449E-8A1A-875DCC047977" id="editor"></object>

当我双击批处理文件来运行它时,一切都很好。但是,如果我从批处理文件启动HTA,则无法加载ActiveX控件。页面加载正常,我可以看到其余内容,但Ax控件应该是红色的X.

我的批处理文件如下所示:

START mshta.exe MyHTA.hta

1 个答案:

答案 0 :(得分:0)

您运行的是64位版本的Windows吗? ActiveX控件是32位吗?如果是这种情况,shell脚本(批处理文件)中的start命令将启动64位版本的mshta.exe来运行HTA。您可以执行以下操作,以便无论当前操作系统是32位还是64位,您的shell脚本(批处理文件)都能正常工作:

@echo off
setlocal
set MSHTA=
if defined PROCESSOR_ARCHITEW6432 (
  set MSHTA=%SystemRoot%\system32\mshta.exe
) else (
  set MSHTA=%SystemRoot%\SysWOW64\mshta.exe
)
start %MSHTA% MyHTA.hta
endlocal

比尔