The Microsoft UI Automation for Microsoft Win32 API enables assistive technology applications and automated testing tools to interact with user interface (UI) controls.

The API is in two parts, that are used independently by UI Automation providers and by UI Automation client applications. The provider API enables developers of Win32 custom control and other control frameworks to expose those controls to UI Automation and make them visible to client applications. The client API enables applications to interact with controls.

Note  The model for the client API has been substantially changed for Windows 7. In an earlier release, the unmanaged client API consisted largely of functions that are implemented in Uiautomationcore.lib. In the new model, clients use COM interfaces to get access to UI Automation elements. Some structures and enumerated types from the earlier API are still used. However, client applications no longer depend on any of the functions listed in the Reference section of this documentation.

In This Section

UI Automation Overview

UI Automation and Active Accessibility

UI Automation Security Overview

UI Automation Tree Overview

UI Automation Control Patterns Overview

UI Automation Control Types Overview

UI Automation Properties Overview

UI Automation Events Overview

Custom Properties, Events, and Control Patterns

UI Automation Text Pattern Overview

Text Control Pattern and Embedded Objects Overview

Working with Safe Arrays

Creating UI Automation Providers

Creating UI Automation Client Applications

UI Automation Specification and Community Promise

Community Additions