*** Welcome to piglix ***

Microsoft UI Automation


Microsoft UI Automation (UIA) is an application programming interface (API) that allows one to access, identify, and manipulate the user interface (UI) elements of another application.

UIA is targeted at providing UI accessibility and it is a successor to Microsoft Active Accessibility. It also facilitates GUI test automation, and it is the engine upon which Microsoft Coded UI Test is based. UIA's property providers support both Win32 and .NET programs.

The latest specification of UIA is found as part of the Microsoft UI Automation Community Promise Specification. Microsoft claims that portability to platforms other than Microsoft Windows was one of its design goals. It has since been ported to Mono.

In 2005, Microsoft released UIA as a successor to MSAA framework.

Managed UI Automation API was released as a part of .NET Framework 3.0. The native UI Automation API (provider) is included as part of the Windows Vista and Windows Server 2008 SDK and is also distributed with the .NET Framework.

UIA is available out of the box in Windows 7 as a part of Windows Automation API 3.0 and as a separate download for Windows XP, Windows Vista, and Windows Server 2003 and 2008.

As a successor to MSAA, UIA aims to address the following goals:

At client side, UIA provides a .NET interface in UIAutomationClient.dll assembly and a COM interface implemented directly in UIAutomationCore.dll.

At server side, UIAutomationCore.dll is injected into all or selected processes on the current desktop to perform data retrieval on behalf of a client. The DLL can also load UIA plugins (called providers) into its host process to extract data using different techniques.


...
Wikipedia

...