要与应用程序中 Internet Explorer 的行为匹配,将 DOCHOSTUIFLAG_ENABLE_ACTIVEX_INACTIVATE_MODE 标志添加到 DOCHOSTUIINFO 结构的 dwFlags 参数中,如下例所示。
HRESULT GetHostInfo(DOCHOSTUIINFO *pInfo) { ... pInfo->cbSize = sizeof(DOCHOSTUIINFO); pInfo->dwFlags = { Other DOCHOSTUIFLAGs } | DOCHOSTUIFLAG_ENABLE_ACTIVEX_INACTIVATE_MODE; ... return S_OK; }还可以通过将应用程序的进程名添加到以下注册表项来启用交互控件阻止。
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_ENABLE_ACTIVEX_INACTIVATE_MODE process_name.exe=(DWORD) 0x00000001注 因为用户可以修改注册表,所以 DOCHOSTUIINFO 标志是启用交互控件阻止的首选方法。
默认情况下,应用程序可以注册以并入 ActiveX 控件激活。有关详细信息,请咨询您的技术客户经理或与 Microsoft 的产品支持部门联系。
附录 A:未激活控件所阻止的 DHTML 事件下表列出 ActiveX 控件未激活时所阻止的 DHTML 事件。
onactivate ondragleave onmouseout onbeforeactivate ondragover onmouseover onbeforecopy ondragstart onmouseup onbeforecut ondrop onmousewheel onbeforedeactivate onfocus onmove onbeforepaste onfocusin onmoveend onblur onfocusout onmovestart onclick onhelp onpage oncontextmenu onkeydown onpaste oncontrolselect onkeypress onresize oncopy onkeyup onresizeend oncut onlosecapture onresizestart ondblclick onmousedown onscroll ondeactivate onmouseenter onselectstart ondragend onmouseleave - ondragenter onmousemove -