我试图找出如何在Windows 8.1上的64位IE版本11中加载64位ActiveX控件。
这就是我已经/尝试过的事情:
更改了UAC设置
在IE设置中启用“为增强保护模式启用64位进程*”和“启用增强保护模式*”
注册的64位ActiveX控件与AppContainer兼容
当我在单个选项卡中仅使用Google.com启动IE时,任务管理器将主进程和选项卡进程显示为64位进程,这是预期的。但是,当我打开包含64位OCX集成的HTML文件时,我收到消息框'Internet Explorer限制此网页运行脚本或ActiveX控件'。当我点击“允许阻止的内容”时,屏幕上没有任何内容。任务管理器显示新创建的选项卡进程是32位。
如果我将HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ TabProcGrowth设置为0,那么将加载IE 11的64位ActiveX内容,一切正常。
我可以使用HTML Help Workshop中使用的64位hhctrl.ocx重现此问题
这是简单的HTML测试文件:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<Title>TestOCX</Title>
</HEAD>
<BODY>
<OBJECT id=hhctrl type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
codebase="hhctrl.ocx#Version=6,3,9600,18006"
width=100
height=100
>
<PARAM name="Command" value="HH Version">
<PARAM name="Button" value="Text:Version">
</OBJECT>
</BODY>
</HTML>
如果在64位IE中加载此HTML文件,则由于某种原因,新创建的进程为32位,并且无法加载嵌入式OCX。
可以使用Microsoft表格数据控件(TDC)ActiveX控件(TDC control)重现此问题。
非常感谢任何帮助。