Visão geral de automação da interface do usuárioUI Automation Overview

Observação

Esta documentação destina-se a desenvolvedores do .NET Framework que querem usar as classes da Automação de interface do usuárioUI Automation gerenciadas definidas no namespace System.Windows.Automation.This documentation is intended for .NET Framework developers who want to use the managed Automação de interface do usuárioUI Automation classes defined in the System.Windows.Automation namespace. Para obter as informações mais recentes sobre a Automação de interface do usuárioUI Automation, consulte Windows Automation API: UI Automation (API de Automação do Windows: Automação da Interface do Usuário).For the latest information about Automação de interface do usuárioUI Automation, see Windows Automation API: UI Automation.

Automação de Interface do Usuário MicrosoftMicrosoft UI Automationé a nova estrutura de acessibilidade para Microsoft WindowsMicrosoft Windows, disponível em todos os sistemas operacionais que oferecem suporte a Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF). is the new accessibility framework for Microsoft WindowsMicrosoft Windows, available on all operating systems that support Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF).

Automação de interface do usuárioUI Automationfornece acesso programático à maioria UI (interface do usuário)user interface (UI) fornecem informações sobre os leitores de tela de elementos na área de trabalho, permitindo que produtos de tecnologia assistencial, como o Interface de UsuárioUI para os usuários finais e manipular o Interface de UsuárioUI por meio diferente de entrada padrão. provides programmatic access to most UI (interface do usuário)user interface (UI) elements on the desktop, enabling assistive technology products such as screen readers to provide information about the Interface de UsuárioUI to end users and to manipulate the Interface de UsuárioUI by means other than standard input. Automação de interface do usuárioUI Automationtambém permite que scripts de teste automatizado interagir com o Interface de UsuárioUI. also allows automated test scripts to interact with the Interface de UsuárioUI.

Observação

Automação de interface do usuárioUI Automationnão permitir a comunicação entre processos iniciados por diferentes usuários por meio de executar como comando. does not enable communication between processes started by different users through the Run as command.

Aplicativos de cliente de automação de interface do usuário podem ser gravados com a garantia de que eles funcionarão em vários frameworks.UI Automation client applications can be written with the assurance that they will work on multiple frameworks. O Automação de interface do usuárioUI Automation core esconde as diferenças nos frameworks subjacentes várias partes da Interface de UsuárioUI.The Automação de interface do usuárioUI Automation core masks any differences in the frameworks that underlie various pieces of Interface de UsuárioUI. Por exemplo, o Content propriedade de um WPFWPF botão, o Caption propriedade de um Win32Win32 botão e o ALT propriedade de uma imagem HTML são mapeadas para uma única propriedade, Name, no Automação de interface do usuárioUI Automation exibição.For example, the Content property of a WPFWPF button, the Caption property of a Win32Win32 button, and the ALT property of an HTML image are all mapped to a single property, Name, in the Automação de interface do usuárioUI Automation view.

Automação de interface do usuárioUI Automationfornece a funcionalidade completa no Windows VistaWindows Vista, Microsoft Windows XPMicrosoft Windows XP, e Windows Server 2003Windows Server 2003. provides full functionality in Windows VistaWindows Vista, Microsoft Windows XPMicrosoft Windows XP, and Windows Server 2003Windows Server 2003.

Provedores de automação de interface do usuário oferecem algum suporte para Acessibilidade Ativa da MicrosoftMicrosoft Active Accessibility aplicativos de cliente, por meio de um serviço interno de ponte.UI Automation providers offer some support for Acessibilidade Ativa da MicrosoftMicrosoft Active Accessibility client applications, through a built-in bridging service.

Provedores e clientesProviders and Clients

Automação de interface do usuárioUI Automationtem quatro componentes principais, conforme mostrado na tabela a seguir. has four main components, as shown in the following table.

ComponenteComponent DescriçãoDescription
Provedor APIAPI (UIAutomationProvider e UIAutomationTypes. dll)Provider APIAPI (UIAutomationProvider.dll and UIAutomationTypes.dll) Um conjunto de definições de interface que são implementadas por provedores de automação de interface do usuário, objetos que fornecem informações sobre Interface de UsuárioUI elementos e respondem a entrada programática.A set of interface definitions that are implemented by UI Automation providers, objects that provide information about Interface de UsuárioUI elements and respond to programmatic input.
Cliente API (UIAutomationClient. dll e UIAutomationTypes. dll)Client API (UIAutomationClient.dll and UIAutomationTypes.dll) Um conjunto de tipos para código gerenciado que permite que aplicativos de cliente de automação de interface do usuário obter informações sobre o Interface de UsuárioUI e enviem dados de entrada para controles.A set of types for managed code that enables UI Automation client applications to obtain information about the Interface de UsuárioUI and to send input to controls.
UIAutomationCoreUiAutomationCore.dll O código subjacente (às vezes chamado de Automação de interface do usuárioUI Automation core) que gerencia a comunicação entre clientes e provedores.The underlying code (sometimes called the Automação de interface do usuárioUI Automation core) that handles communication between providers and clients.
UIAutomationClientsideProvidersUIAutomationClientsideProviders.dll Um conjunto de provedores de automação de interface do usuário para controles padrão herdados.A set of UI Automation providers for standard legacy controls. (WPFWPF controles têm suporte nativo para Automação de interface do usuárioUI Automation.) Esse suporte está automaticamente disponível para aplicativos cliente.(WPFWPF controls have native support for Automação de interface do usuárioUI Automation.) This support is automatically available to client applications.

Do ponto de vista do desenvolvedor de software, há duas maneiras de usar Automação de interface do usuárioUI Automation: para criar suporte para controles personalizados (usando a API de provedor) e criar aplicativos que usam o Automação de interface do usuárioUI Automation principal para se comunicar com Interface de UsuárioUI elementos (usando a API de cliente).From the software developer's perspective, there are two ways of using Automação de interface do usuárioUI Automation: to create support for custom controls (using the provider API), and creating applications that use the Automação de interface do usuárioUI Automation core to communicate with Interface de UsuárioUI elements (using the client API). Dependendo de seu foco, consulte a diferentes partes da documentação.Depending on your focus, you should refer to different parts of the documentation. Você pode aprender mais sobre os conceitos e adquirir conhecimento prático nas seções a seguir.You can learn more about the concepts and gain practical how-to knowledge in the following sections.

SeçãoSection AssuntoSubject matter Público-alvoAudience
Fundamentos de automação de interface do usuário (Esta seção)UI Automation Fundamentals (this section) Ampla visão geral dos conceitos.Broad overviews of the concepts. Todos os.All.
UI Automation Providers for Managed Code (Provedores da Automação da Interface do Usuário para código gerenciado)UI Automation Providers for Managed Code Visões gerais e tópicos de instruções para ajudá-lo a usar a API de provedor.Overviews and how-to topics to help you use the provider API. Desenvolvedores de controle.Control developers.
UI Automation Clients for Managed Code (Clientes da Automação da Interface do Usuário para código gerenciado)UI Automation Clients for Managed Code Visões gerais e tópicos de instruções para ajudá-lo a usar a API do cliente.Overviews and how-to topics to help you use the client API. Desenvolvedores de aplicativos do cliente.Client application developers.
UI Automation Control Patterns (Padrões de controle da Automação da Interface do Usuário)UI Automation Control Patterns Informações sobre como os padrões de controle devem ser implementados por provedores e qual funcionalidade está disponível para clientes.Information about how control patterns should be implemented by providers, and what functionality is available to clients. Todos os.All.
UI Automation Text Pattern (Padrão de texto da Automação da Interface do Usuário)UI Automation Text Pattern Informações sobre como o padrão de controle de texto deve ser implementado pelos provedores, e qual funcionalidade está disponível para clientes.Information about how the Text control pattern should be implemented by providers, and what functionality is available to clients. Todos os.All.
UI Automation Control Types (Tipos de controle da Automação da Interface do Usuário)UI Automation Control Types Informações sobre as propriedades e padrões de controle suportados pelos diferentes tipos de controle.Information about the properties and control patterns supported by different control types. Todos os.All.

A seguinte tabela lista Automação de interface do usuárioUI Automation namespaces, as DLLs que contêm-los e o público que usa.The following table lists Automação de interface do usuárioUI Automation namespaces, the DLLs that contain them, and the audience that uses them.

NamespaceNamespace DLLs referenciadosReferenced DLLs Público-alvoAudience
System.Windows.Automation UIAutomationClientUIAutomationTypesUIAutomationClientUIAutomationTypes Desenvolvedores de cliente de automação de interface do usuário; usado para localizar AutomationElement de registro de objetos, para Automação de interface do usuárioUI Automation eventos e trabalhar com Automação de interface do usuárioUI Automation padrões de controle.UI Automation client developers; used to find AutomationElement objects, register for Automação de interface do usuárioUI Automation events, and work with Automação de interface do usuárioUI Automation control patterns.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypesUIAutomationProviderUIAutomationTypes Os desenvolvedores de provedores de automação de interface do usuário para estruturas de WPFWPF.Developers of UI Automation providers for frameworks other than WPFWPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypesUIAutomationClientUIAutomationTypes Os desenvolvedores de provedores de automação de interface do usuário para estruturas de WPFWPF; usado para implementar o padrão de controle TextPattern.Developers of UI Automation providers for frameworks other than WPFWPF; used to implement the TextPattern control pattern.
System.Windows.Automation.Peers PresentationFrameworkPresentationFramework Os desenvolvedores de provedores de automação de interface do usuário para WPFWPF.Developers of UI Automation providers for WPFWPF.

Modelo de automação de interface do usuárioUI Automation Model

Automação de interface do usuárioUI Automationexpõe cada parte do Interface de UsuárioUI para aplicativos cliente como um AutomationElement. exposes every piece of the Interface de UsuárioUI to client applications as an AutomationElement. Elementos estão contidos em uma estrutura de árvore, com a área de trabalho como o elemento raiz.Elements are contained in a tree structure, with the desktop as the root element. Os clientes podem filtrar a exibição bruta da árvore como um modo de exibição de controle ou conteúdo.Clients can filter the raw view of the tree as a control view or a content view. Aplicativos também podem criar exibições personalizadas.Applications can also create custom views.

AutomationElementobjetos expõem propriedades comuns a Interface de UsuárioUI elementos representam.AutomationElement objects expose common properties of the Interface de UsuárioUI elements they represent. Uma dessas propriedades é o tipo de controle, que define sua aparência e funcionalidade básicas como uma única entidade reconhecível: por exemplo, um botão ou caixa de seleção.One of these properties is the control type, which defines its basic appearance and functionality as a single recognizable entity: for example, a button or check box.

Além disso, os elementos expõem os padrões de controle que fornecem propriedades específicas para seus tipos de controle.In addition, elements expose control patterns that provide properties specific to their control types. Padrões de controle também expõem métodos que permitem que os clientes para obter mais informações sobre o elemento e para fornecer entrada.Control patterns also expose methods that enable clients to get further information about the element and to provide input.

Observação

Não há uma correspondência entre tipos de controle e padrões de controle.There is not a one-to-one correspondence between control types and control patterns. Um padrão de controle pode ser suportado por vários tipos de controle e um controle pode oferecer suporte a vários padrões de controle, cada um deles expõe diferentes aspectos de seu comportamento.A control pattern may be supported by multiple control types, and a control may support multiple control patterns, each of which exposes different aspects of its behavior. Por exemplo, uma caixa de combinação tem pelo menos dois padrões de controle: uma que representa sua capacidade de expandir e recolher e outra que representa o mecanismo de seleção.For example, a combo box has at least two control patterns: one that represents its ability to expand and collapse, and another that represents the selection mechanism. Para obter informações específicas, consulte tipos de controle de automação de interface do usuário.For specifics, see UI Automation Control Types.

Automação de interface do usuárioUI Automationtambém fornece informações para aplicativos de cliente por meio de eventos. also provides information to client applications through events. Ao contrário de WinEventsWinEvents, Automação de interface do usuárioUI Automation eventos não são baseados em um mecanismo de difusão.Unlike WinEventsWinEvents, Automação de interface do usuárioUI Automation events are not based on a broadcast mechanism. Automação de interface do usuárioUI Automationos clientes se registrar para notificações de evento específico e pode solicitar que específico Automação de interface do usuárioUI Automation informações de padrão de controle e propriedades passado para seus manipuladores de eventos. clients register for specific event notifications and can request that specific Automação de interface do usuárioUI Automation properties and control pattern information be passed into their event handlers. Além disso, um Automação de interface do usuárioUI Automation evento contém uma referência ao elemento que o gerou.In addition, a Automação de interface do usuárioUI Automation event contains a reference to the element that raised it. Provedores podem melhorar o desempenho gerando eventos seletivamente, dependendo se todos os clientes estão escutando.Providers can improve performance by raising events selectively, depending on whether any clients are listening.

Consulte tambémSee Also

Visão geral de árvore de automação de interface do usuárioUI Automation Tree Overview
Visão geral de padrões de controle de automação da interface do usuárioUI Automation Control Patterns Overview
Visão geral de propriedades de automação de interface do usuárioUI Automation Properties Overview
Visão geral sobre eventos de automação de interface do usuárioUI Automation Events Overview
Visão geral de segurança de automação de interface do usuárioUI Automation Security Overview