1

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

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

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

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

START mshta.exe MyHTA.hta
4

1 回答 1

0

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

@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

账单

于 2013-05-24T01:11:04.937 回答