当前位置: 网学 > 编程文档 > XHTML > 正文

IE下自动激活 ActiveX 控件

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式
活。

控件可以通过 DISPID_AMBIENT_UIDEAD 环境属性确定激活状态,该属性通过 IDispatch::Invoke 调用。该属性通过 IOleControl::OnAmbientPropertyChange 进行更改时,会通知实现 IOleControl 接口的控件。

返回页首返回页首

辅助影响

当辅助工具遇到 ActiveX 控件时,可以使用对象的 IAccessible 接口获取有关该控件的信息。可以用 IAccessible::accDoDefaultAction 方法激活未激活的控件。

下表描述在未激活控件上调用 IAccessible 方法产生的结果。

方法说明

IAccessible::accDoDefaultAction

激活控件并在 MSAA 树内公开 ActiveX 控件或 Java Applet。

IAccessible::accHitTest

返回 CHILDID_SELF

IAccessible::accLocation

底层 ActiveX 控件或 Java Applet 的位置

IAccessible::accNavigate

返回 E_NOTIMPL

IAccessible::accSelect

返回 E_NOTIMPL

IAccessible::get_accChild

返回 S_FALSE

IAccessible::get_accChildCount

返回 0 和 S_OK

IAccessible::get_accDefaultAction

返回“Select this control”

IAccessible::get_accDescription

返回 E_NOTIMPL

IAccessible::get_accFocus

返回 E_NOTIMPL

IAccessible::get_accHelp

返回“This control is inactive.Select the control to activate and use it.”

IAccessible::get_accHelpTopic

没有变化 — 返回 E_NOTIMPL

IAccessible::get_accKeyboardShortcut

没有变化 — 委托该对象。如果没有对象,该方法返回 E_NOTIMPL。

IAccessible::get_accName

返回“Inactive Control”

IAccessible::get_accParent

没有变化 — 返回父链中最近的可访问的元素。

IAccessible::get_accRole

返回 ROLE_SYSTEM_PUSHBUTTON

IAccessible::get_accSelection

返回 E_NOTIMPL

IAccessible::get_accState

返回对象的当前状态。该状态总是包括 STATE_SYSTEM_FOCUSABLE

IAccessible::get_accValue

返回 E_NOTIMPL

IAccessible::put_accName

返回 E_NOTIMPL

IAccessible::put_accValue

返回 E_NOTIMPL

有关激活的控件或不需要激活的控件的信息,请参阅 Active Accessibility SDK

辅助工具触发默认操作后应该刷新,这样才能正确显示 ActiveX 控件的数据及其子控件的数据(如果有)。

返回页首返回页首

WebBrowser 控件影响

默认情况下,宿主 WebBrowser Control 的自定义应用程序不会阻止由 APPLETEMBEDOBJECT 元素加载的交互式 ActiveX 控件。未激活控件阻止仅应用于以下应用程序

Windows Explorer

Internet Explorer

MSN Explorer

AOL®Explorer

AOL®8.0

AOL®9.0

CompuServe 2000

AIM®

Maxthon Browser

NetCaptor

Browse3D

Macromedia Dreamweaver

Macromedia Contribute

Netscape®8(将 Internet Explorer 用作呈现引擎时)

要与应用程序中 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)SOFTWAREMicrosoftInternet ExplorerMainFeatureControlFEATURE_ENABLE_ACTIVEX_INACTIVATE_MODEprocess_name.exe=(DWORD) 0x00000001

因为用户可以修改注册表,所以 DOCHOSTUIINFO 标志是启用交互控件阻止的首选方法。

默认情况下,应用程序可以注册以并入 ActiveX 控件激活。有关详细信息,请

  • 上一篇资讯: WEB打印实例教程
  • 下一篇资讯: execCommand指令集详解
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号