辅助功能工具 - AccEvent (辅助事件观察程序)

AccEvent(辅助事件观察程序) 使开发人员和测试人员能够验证应用程序的 UI 元素在 UI 发生更改时是否引发正确的MICROSOFT UI 自动化和Microsoft活动辅助功能事件。 当焦点更改或 UI 元素被调用、选择或具有状态或属性更改时,UI 中的更改可能会发生。

AccEvent 随 Windows 软件开发工具包 (SDK) 一起安装。 它位于 SDK 安装路径 (Accevent.exe) 的 \bin\<版本>\<平台> 文件夹中。

注意

AccEvent 是一种旧工具。 建议改用 Accessibility Insights

要求

AccEvent 可用于检查没有 UI 自动化的系统上的辅助功能数据,它最初是为Microsoft活动辅助功能编写的。 若要检查 UI 自动化,必须在系统上显示 UI 自动化。 有关详细信息,请参阅 UI 自动化的“要求”部分。

AccEvent 作为 Windows SDK 中整体工具集的一部分进行安装,它不会作为单独的 exe 下载分发。 Windows SDK 包括本节中记录的所有与辅助功能相关的工具。 获取 Windows SDK。 (如果需要以前的版本,也存在从该页链接的 SDK 下载存档。

若要运行 AccEvent,请在 \bin\<版本>\<平台> 文件夹中找到 AccEvent.exe 并运行它(通常不必以管理员身份运行)。

可访问事件观察程序窗口

启动 AccEvent时,将显示主窗口。 主 AccEvent 窗口显示由正在运行的应用程序引发的 UI 自动化或Microsoft活动辅助功能事件。 主窗口包含以下主要部分:

  • 标题栏。 显示当前作模式和状态。
  • 菜单栏。 提供对 accEvent 功能 的访问权限。
  • 数据视图。 显示有关每个事件的信息,包括引发事件的 UI 元素的事件 ID 和所选属性。

AccEvent 只有图形用户界面;此工具没有命令行参数,但你可以使用其他工具将输出日志作为文本进行处理。

下图显示了 AccEvent 窗口的主要

辅助事件观察程序工具的用户界面

辅助事件观察程序任务

本部分包括有关 AccEvent 任务的常用 的信息。

配置作模式

可以使用 模式 菜单来配置 AccEvent作模式,并选择控制工具行为的设置。 可以选择以下选项。

选中此选项后 AccEvent 执行此作
Always on Top 显示在屏幕上的任何其他用户界面顶部。
UIA 事件 显示有关 UI 自动化事件的信息。
WinEvents (上下文中) 显示传递给服务器地址空间中的挂钩函数Microsoft活动辅助功能事件(WinEvents)的信息。 有关详细信息,请参阅 In-Context 挂钩函数
WinEvents (上下文不足) 显示传递给驻留在客户端地址空间中的挂钩函数的Microsoft活动辅助功能事件(WinEvents)的相关信息。 有关详细信息,请参阅 上下文外挂钩函数
显示突出显示矩形 突出显示引发所选事件的 UI 元素周围的矩形。
显示信息工具提示 在工具提示中显示事件信息。
设置 显示 UIA 事件设置WinEvent 设置 对话框。

 

筛选 UI 自动化事件

若要配置 AccEvent 窗口中显示的 UI 自动化事件和属性,请单击 模式 菜单,选择 UIA 事件,然后选择 设置。 将显示 UIA 事件设置 对话框。 还可以使用此对话框筛选事件。

UIA 事件设置 对话框包含以下窗格:

  • 全局事件

    选中 FocusChangedEvent 复选框以显示有关全局焦点更改事件的信息。

  • 事件类型

    选择感兴趣的事件。

  • 范围

    选择要 AccEvent 侦听事件的 UI 元素。

  • 包括来自 的事件

    如果从 范围 窗格中所选 UI 元素的直接子元素看到事件,请选择 即时子级。 如果要查看所有后代元素的事件,请选择 所有后代

  • 报表属性

    选择要在主窗口中每个事件后显示的属性。 如果在 模式 菜单中选择“显示信息工具提示”,则所选属性也会显示在工具提示中。

筛选活动辅助功能事件

若要配置 AccEvent 窗口中显示的Microsoft活动辅助功能事件和属性,请单击 模式 菜单,选择 WinEvents(上下文中)WinEvents(上下文外),然后选择 设置。 将显示 WinEvent 设置 对话框。 还可以使用此对话框筛选事件。

WinEvent 设置 对话框包含以下窗格:

  • 对象

    选择要 AccEvent 侦听事件的对象。 AccEvent 可以侦听源自窗口、光标或插入点的事件。 默认情况下选择 窗口

  • 事件

    选择感兴趣的事件。 默认情况下,所有事件都会显示。

  • 事件信息

    选择在主窗口中每个事件名称后显示的信息。

  • 对象属性

    选择要在主窗口中每个事件后显示的属性。 如果在 模式 菜单中选择“显示信息工具提示”,则所选属性也会显示在工具提示中。 默认选择 名称角色状态

  • 筛选

    选择筛选部分中的一个单选按钮,以筛选 hWND 字段中指定的窗口引发的事件。 默认情况下,选中 “不筛选”单选按钮

    • 选择 排除 单选按钮,仅显示从指定窗口以外的对象引发的事件。
    • 选择 仅包括 单选按钮,并指定一个或多个窗口句柄以仅显示从这些窗口引发的事件。
    • 选中 和后代 复选框,以包括指定窗口的后代引发的事件。
  • 选项

    选择以下任一选项:

    选中此选项后 AccEvent 执行此作
    使用 Invoke 使用 IDispatch::Invoke 来检索对象属性,而不是使用 IAccessible 方法。
    始终获取对象(即使未选择任何对象属性) 检索与事件关联的对象,即使“对象属性”窗格中未选择任何项。
    显示默认属性(除所选属性外) 显示与事件关联的对象的默认属性(如果有)以及“对象属性”窗格中选择的项。
    显示不可见/隐藏窗口中的事件信息 显示所有对象(包括不可见或隐藏窗口中的对象)的“事件信息”窗格中的选定项。
    显示不可见/隐藏窗口中的完整事件信息 显示“事件信息”窗格中的选定项,以及“对象属性”窗格中的选定项(或默认)项,包括不可见或隐藏窗口中的对象。
    下一个事件的 DebugBreak 导致在源自下一个 WinEvent 的进程中出现断点异常。 这会向调试器发出处理异常的信号。

使用事件菜单

使用 事件 菜单执行以下任务:

选中此选项后 AccEvent 执行此作
开始侦听 开始在数据视图中显示事件信息。
停止侦听 停止在数据视图中显示事件信息。
清除事件历史记录 清除数据视图的内容。
选择所有事件 选择数据视图中列出的所有事件。
复制所选事件 将所选事件复制到剪贴板。

保存活动辅助功能事件

若要开始将事件保存到文本文件,请打开“文件”菜单,然后选择“开始记录到文件”AccEvent 开始将事件写入指定文件,直到从“文件”菜单中选择 “停止日志记录”。 文本文件可用于稍后对事件进行故障排除和查看。