【问题标题】:Microsoft Active Accessibility, VB6 and RanorexMicrosoft Active Accessibility、VB6 和 Ranorex
【发布时间】:2016-06-02 01:57:52
【问题描述】:

Ranorex 是一款适用于 Windows 的用户界面测试工具。如果 UI 元素支持 Microsoft Active Accessiblity (MSAA),那么它可以检索有关元素的丰富信息,这对于编写测试脚本非常有用。

我们在 VB6 中有很多不支持 MSAA 的遗留代码。

我正在尝试将这种支持添加到我们的一些 VB6 用户控件中,如下所示。

我使用 ATL 在 C++ 中创建了一个 ActiveX 组件。这包含一个实现接口 IAccessible 的辅助类。它还包含一个可以从 VB6 调用的初始化函数。

VB6 用户控件创建辅助对象并将其窗口句柄和名称传递给初始化函数。帮助对象子类化窗口并处理 WM_GETOBJECT 消息,为窗口提供 IAccessible 接口。

我已经调试了代码,据我所知,它正在工作。 Ranorex Spy 工具获取 IAccessible 接口并调用接口上的方法。

但是,Ranorex 实际上并没有显示它似乎通过此界面获取的任何信息。

我知道这是一个非常具体的问题,但有没有人有实施 IAccessible 以在 Ranorex 或其他类似测试工具中使用的经验?

我很乐意提供我的代码,但我认为这对于正常发布来说太过分了。

【问题讨论】:

    标签: c++ vb6 atl ranorex iaccessible


    【解决方案1】:

    这似乎从未被广泛使用。我找到了一些可以分享的面包屑,所以也许这些会有一些价值?

    第一:

    Microsoft Active Accessibility 2.0 作为 Microsoft Windows XP 中的标准系统组件提供...

    这是来自 MSAA20RDK\redist.txt,它继续讨论如何将它安装到 Win2K 和更早版本中。据我所知,XP 和更高版本中包含这些部件和部件,因此您可能不需要 RDK 下载,它基本上没有任何信息,而且大多只有 DLL。

    这里有一个链接:

    Microsoft Active Accessibility 2.0 Redist

    也许更有用的东西,请注意,这是下载 Word DOC 的“实时”链接:

    Microsoft Active Accessibility 2.0

    我在 MS 下载中没有找到讨论它的“页面”链接。这是一个较大的文档,提供了许多详细信息,几乎完全针对 C++ 程序员。然而,在 VB6 上有一个一点点

    也就是说,它告诉你的只是:

    Visual Basic 示例程序

    本书 Advanced Microsoft Visual Basic 6.0, 2nd Edition (Mandelbrot Set International, Ltd.)包括一章讨论 Active 可访问性。本章提供了示例代码,演示了如何 使用关键的 Active Accessibility API。 (微软出版社,ISBN 1-57231-893-7)

    还有一点,但不多。引用的书可能很难再找到了,我在亚马逊上只看到过一本意大利语版本,但四处寻找,第三者可能会在那里或 eBay 上出售,等等。

    在此链接:Microsoft Active Accessibility 来自该 Word DOC 的信息似乎是重复的,尽管它可能是最新的。

    【讨论】:

    • 感谢@Bob77,我从书中找到了示例程序,但似乎正在使用而不是实现接口。亚马逊上有这本书的二手副本。 “查看内部”功能显示目录,第 16 章是关于可访问性的,但我并不希望它会有所帮助。
    • 据我所知,VB6 程序不能是服务器,只能是客户端。对不起。
    • 我昨天失明了。我的 IAccessible 界面正在工作,但 Ranorex 间谍现在显示窗口两次,一次是名称为 ThunderRT6UserControlDC(来自 VB6),一次是通过可访问性界面返回的名称。现在我只需要把它们放在一起:-)。
    • 嗯,这比“无法完成”要好。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多