【问题标题】:UIAutomation event for when PDF downloaded in Internet Explorer在 Internet Explorer 中下载 PDF 时的 UIAutomation 事件
【发布时间】:2016-03-13 02:52:46
【问题描述】:

我正在尝试处理PDF 已下载并在Internet Explorer 中完全显示的事件。

哪个UIAutomation 事件会处理这个?

【问题讨论】:

    标签: windows internet-explorer ui-automation acrobat


    【解决方案1】:

    如果您指的是 .NET Framework 中的UIAutomation object,它支持托管代码。 Internet Explorer 是用 C++ 作为非托管代码编写的。尽管有相反的明确建议,但有些人已经设法使用托管代码编写扩展,但是,我还没有听说有人使用托管代码成功控制 IE。

    早期版本的 IE 可以使用 COM interfacesVBA objects 实现自动化,但是,这些功能多年来一直是 increasing deprecated

    此外,这些接口中很少有支持扩展。 (PDF 不是 Internet Explorer 原生支持的文件类型,因此自动化将取决于注册为处理单个用户的 PDF mime 类型的应用程序所公开的表面。)

    由于 Edge 现在是官方浏览器,因此不太可能更新 IE 以支持托管代码扩展。请注意,Edge 当前不支持扩展,并且几乎没有可用信息来描述何时或是否会改变。 (过去有过模糊的承诺,但很少有额外的信息。)

    如果您想达到特定的效果,请考虑发布更具体的问题,其中显示:

    • 您尝试使用的代码,
    • 您想要达到的效果,以及
    • 您现在看到的行为。

    希望这会有所帮助...

    -- 兰斯

    【讨论】:

    • 如果您对UIAutomation 对象有任何经验,您就会知道它能够自动化Internet Explorer。为什么不先对主题进行适当的调查,然后再制作 cmet?
    • 抛开蛇皮,你指的是哪个 UI 自动化对象?之前链接的 .NET Framework 对象,Accessibility technology,还是其他? (Internet Explorer 的自动化有一定的限制,部分是为了防止被恶意操纵。)
    • 我说的是UIAutomation,它同时具有.NETCOM 接口,因此使用哪个接口并不重要。这恰好是某人成功使用 COM 接口自动化 Internet Explorer 的示例:stackoverflow.com/questions/26038165/… 我可以确认这适用于 IE 11。因此,UIAutomation 不能用于自动化 Internet Explorer 是完全错误的。
    • “支持”和“可以工作”是有区别的。我可以告诉您,Internet Explorer 已弃用 VBA,这意味着它不再受支持。当这个术语出现在 Microsoft 文档中时,它具有特定的含义,基本上翻译为“它可能有效,也可能无效,但不能保证,您只能自己尝试使用它。”另外,请记住,功能支持会随着时间而变化。旧版 Internet Explorer 支持的许多旧版已在 later versions of the browser 中弃用、过时和删除。
    • 现在,PDF 支持不是 IE 原生的,通常通过 MIME 类型处理程序进行处理,通常(但不总是)使用注册表或通过安装附加组件来定义。您的原始请求(本质上)询问哪个自动化事件响应 IE 外部二进制文件中的操作。传统上,IE 将处理程序请求传递给注册表中定义的处理程序,该处理程序负责处理它。如果返回错误,则可以浮出水面,但这取决于 IE 和操作系统的实际版本。 (规则随时间而变化)。
    猜你喜欢
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 2013-02-26
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多