System-Level和Object-Level事件

Microsoft Active Accessibility 使用三类 WinEvent: 系统级别对象级别控制台。 每个都有下列相应的 事件常量 值之一:

  • 以 EVENT_SYSTEM开头的事件常量标识系统级事件。 这些事件描述了影响系统中所有应用程序的情况。
  • 以 EVENT_OBJECT开头的事件常量标识对象级事件。 这些事件与特定于一个应用程序中的对象的情况相关。
  • 以 EVENT_CONSOLE开头的事件常量标识控制台级事件。 这些事件指示控制台窗口中的更改。

系统级和对象级事件类均由操作系统和服务器应用程序生成。 操作系统为以下方案生成系统级和对象级事件:

  • 有关焦点更改的系统范围通知
  • 激活更改
  • 有关系统提供的对象(例如常见控件)的事件

服务器应用程序为复制系统对象的自定义对象(如自定义菜单和滚动条)生成系统级事件。

服务器应用程序通常会为更改其包含的可访问对象生成对象级事件,例如对象创建、销毁和选择。

尽管系统为 窗口 对象生成对象级事件,但服务器还必须为窗口中包含的每个可访问对象发送对象级事件。 例如,如果服务器应用程序注册应用程序定义的窗口类以创建自定义控件,则系统会为包含自定义控件的窗口生成对象级事件;服务器为提供控件相关信息的可访问对象生成对象级事件。

服务器仅为其实现 IAccessible 接口的自定义控件生成对象级事件。 有关详细信息,请参阅 自定义用户界面元素