激活 ActiveX 控件(4)

要与应用程序中 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

 

-

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjjdyf.html