文章编号: 240797 - 查看本文应用于的产品
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

概要

本文介绍如何禁止 ActiveX 控件在 Microsoft Internet Explorer 和 Windows Internet Explorer 中运行。通过修改 ActiveX 控件类标识符 (CLSID) 的兼容性标志 DWORD 数据值,可以实现此目的。

注意:对于基于 Microsoft Windows XP 和基于 Windows Server 2003 的计算机,管理员可以使用软件限制策略来禁止 ActiveX 控件在 Active Directory 域环境计算机上的任何程序中运行。有关软件限制策略的更多信息,请访问下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/library/bb457006.aspx

更多信息

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。

警告:Microsoft 不建议取消对 ActiveX 控件的 Kill 操作。如果您这样做,则可能会造成安全漏洞。人们通常是出于某种十分重要的考虑才设置 Kill 位,因此在取消对 ActiveX 控件的 Kill 操作时必须格外小心。另外,由于以下过程的技术性极强,因此除非对该过程非常有把握,否则不要继续,并且在开始之前应阅读整个过程。

ActiveX 控件的 CLSID 是该控件的 GUID。通过设置 Kill 位,可以使 Internet Explorer 在使用默认设置时永不调用 ActiveX 控件,从而禁止该控件在 Internet Explorer 中运行。

Kill 位是 ActiveX 控件的兼容性标志 DWORD 值在注册表中的特定值。这不同于取消 ActiveX 控件中的“可安全执行脚本”选项。当“可安全执行脚本”选项被取消时,Internet Explorer 仍会调用该控件,然后用警告消息提示您,该 ActiveX 控件可能不安全。根据您做出的选择,可能会运行该控件。但是,在为 ActiveX 控件设置了 Kill 位后,只要不启用 Internet Explorer 中的“对未标记为安全的 ActiveX 控件初始化并执行脚本”选项,Internet Explorer 就不会调用该控件。要设置 Kill 位,请按照下列步骤操作:
  1. 确定要禁用的 ActiveX 控件的 CLSID。如果您对该控件的 CLSID 不确定,请与制造商联系。在该控件已安装的情况下,如果您知道它的友好名称,则或许可以确定其 CLSID。为此,请检查“
    HKEY_CLASSES_ROOT\CLSID
    ”中每个 CLSID 项的 ProgID 项的 Default 字符串值。为了便于找到合适的 CLSID,您可能必须删除尽可能多的 ActiveX 控件,而保留要禁用的 ActiveX 控件。 有关如何删除 ActiveX 控件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    154850 如何在 Windows 中删除 ActiveX 控件
  2. 使用注册表编辑器在以下注册表项中查看 ActiveX 对象 CLSID 的兼容性标志 DWORD 数据值
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\
    <ActiveX 控件的 CLSID>”
    ,其中 <ActiveX 控件的 CLSID> 是相应 ActiveX 控件的类标识符。

    注意
    • 通常,您必须手动创建此注册表项。
    • 要确定哪个 CLSID 与要禁用的 ActiveX 控件相对应,必须先删除当前安装的所有 ActiveX 控件,安装要禁用的控件,然后将 Kill 位添加到它的 CLSID 中。
  3. 将兼容性标志 DWORD 值更改为 0x00000400。
如果为某个 ActiveX 控件设置了 Kill 位,并使用其他 CLSID 发布了新版本的 ActiveX 控件,则可以让使用旧 CLSID 的网站继续照常运行。通过在注册表中将新值添加到与兼容性标志值相同的级别,可以实现此目的。此值应是一个名为“AlternateCLSID”的 REG_SZ 字符串。AlternateCLSID 值将显示在大括号中。例如,它将类似于以下内容:
{ABCDEF12-ABCD-ABCD-ABCD-ABCDEF123456}
Internet Explorer 将解释此值,并创建一个在 AlternateCLSID 值中引用的 ActiveX 控件(而非收到 Kill 位的 ActiveX 控件)的实例。

注意:要使 AlternateCLSID 值生效,必须在初始 CLSID 上设置 Kill 位。

ActiveX 控件开发人员可以使用具有“Kill 位”的 TreatAs 或 AlternateCLSID 注册表值(而不使用 ActiveX 控件)来让 Internet Explorer 检查是否已有更新的 ActiveX 控件可供使用。有关如何使用 TreatAs 值的信息,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/zh-cn/library/ms679737.aspx
要设置 AlternateCLSID 值,请按照下列步骤操作:
  1. 使用注册表编辑器在以下注册表项中查找已禁用的 ActiveX 对象的 CLSID:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\
    <ActiveX 控件的 CLSID>”
    ,其中 <ActiveX 控件的 CLSID> 是相应 ActiveX 控件的类标识符。

    从中可以看出,兼容性标志的值设置为“DWORD 00000400”。
  2. 向 CLSID 项添加一个 AlternateCLSID 字符串值。
  3. 将 AlternateCLSID 字符串值的数据设置为 <{可选 ActiveX 控件的 CLSID}>,其中 <{ActiveX 控件的 CLSID}> 是更新的 ActiveX 控件的类标识符。
AlternateCLSID 值将指示 Internet Explorer 重定向到更新的 ActiveX 控件的 CLSID。重定向链的深度最多可达十级。

Internet Explorer 的下列版本支持 AlternateCLSID 值。
  • 用于 Windows 2000 的 Internet Explorer 5.01 Service Pack 2 或更高版本(安装了 MS03-004 或更高版本)
  • Internet Explorer 5.5 Service Pack 2(安装了 MS02-068 或更高版本)
  • Internet Explorer 6 Service Pack 1
  • 用于 Windows XP 的 Internet Explorer 6(安装了 MS02-068 或更高版本)
  • 用于 Windows Server 2003 的 Internet Explorer 6
注意:本文没有列出的 Internet Explorer 版本或者处于产品生命周期的延长阶段,或者不再受支持。虽然您可以在这些版本的 Windows 和 Internet Explorer 上设置 Kill 位,但是 Microsoft 建议您同时升级到受支持的 Internet Explorer 版本并应用所有适当的更新。 有关如何确定 Internet Explorer 的版本的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
164539 如何确定安装的是哪个版本的 Internet Explorer

属性

文章编号: 240797 - 最后修改: 2011年5月17日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
  • Windows Internet Explorer 7 for Windows XP
  • Windows Internet Explorer 7 for Windows Server 2003
  • Windows Internet Explorer 7 in Windows Vista
  • Windows Internet Explorer 8
  • Windows Internet Explorer 9
关键字:?
kbenv kbhowto KB240797
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com