不在 IE 安全设置中禁用 ActiveX,改用在注册表中修改 ActiveX 控件类标识符 (CLSID) 的 Compatibility Flags DWORD 数据值的方法来禁用 ActiveX 控件,可以达到你要的效果。
在注册表中修改 ActiveX 控件类标识符 (CLSID) 的 Compatibility Flags DWORD 数据值的方法见 微软知识库240797号文 @
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;q240797摘要:Quote:
如何禁止 ActiveX 控件在 Internet Explorer 中运行
警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
警告:Microsoft 不建议取消 对 ActiveX 控件的 Kill 操作。如果您这样做,则可能会造成安全漏洞。人们通常是出于某种十分重要的考虑才设置 Kill 位,因此在取消对 ActiveX 控件的 Kill 操作时必须格外小心。另外,由于以下操作步骤的技术性极强,因此除非对这些步骤非常有把握,否则不要继续,并且在开始之前应阅读所有步骤。
ActiveX 控件的 CLSID 是该控件的 GUID。您可以通过设置 Kill 位以使 Internet Explorer 永不调用 ActiveX 控件,来禁止该控件在 Internet Explorer 中运行。Kill 位是 ActiveX 控件的 Compatibility Flags DWORD 值在注册表中的特定值。这不同于取消 ActiveX 控件中的“可安全执行脚本”选项。当“可安全执行脚本”选项被取消时,Internet Explorer 仍会调用该控件,然后用警告消息提示您,该 ActiveX 控件可能不安全。根据您做出的选择,可能会运行该控件。但是,为 ActiveX 控件设置 Kill 位以后,Internet Explorer 根本不会调用该控件。要设置 Kill 位以便 Internet Explorer 永不调用 ActiveX 控件,请执行以下操作:
1. 确定要禁用的 ActiveX 控件的 CLSID。如果您对该控件的 CLSID 不确定,请与制造商联系。在该控件已安装的情况下,如果您知道它的易记名称,则或许可以确定其 CLSID。为此,请检查 HKEY_CLASSES_ROOT\CLSID 中每个 CLSID 项的 ProgID 项的 Default 字符串值。为了便于找到合适的 CLSID,您可能需要删除尽可能多的 ActiveX 控件,而保留要禁用的 ActiveX 控件。
有关如何删除 ActiveX 控件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
154850 如何在 Windows 中删除 ActiveX 控件 @ http://support.microsoft.com/kb/154850
2. 使用注册表编辑器在以下注册表项中查看 ActiveX 对象 CLSID 的 Compatibility Flags DWORD 数据值
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID of the ActiveX control
其中 CLSID of the ActiveX Control 是相应 ActiveX 控件的类标识符。
注意:要确定哪个 CLSID 与要禁用的 ActiveX 控件相对应,必须先删除当前安装的所有 ActiveX 控件,安装要禁用的控件,然后将 Kill 位添加到它的 CLSID 中。
3. 将 Compatibility Flags DWORD 值更改为 00000400。
source: http://support.microsoft.com/default.aspx?scid=kb;zh-cn;q240797