Partilhar via


Visão geral da automação da interface do usuário

Microsoft UI Automation é uma estrutura de acessibilidade para Windows. Ele fornece acesso programático à maioria dos elementos da interface do usuário na área de trabalho. Ele permite que produtos de tecnologia assistiva, como leitores de tela, forneçam informações sobre a interface do usuário aos usuários finais e manipulem a interface do usuário por meios diferentes da entrada padrão. A automação da interface do usuário também permite que scripts de teste automatizados interajam com a interface do usuário.

A Automação da Interface do Usuário foi disponibilizada pela primeira vez no Windows XP como parte do Microsoft .NET Framework. Embora uma API C++ não gerenciada também tenha sido publicada naquela época, a utilidade das funções do cliente era limitada devido a problemas de interoperabilidade. Para o Windows 7, a API foi reescrita no COM (Component Object Model).

Observação

Embora as funções de biblioteca introduzidas na versão anterior da Automação da Interface do Usuário ainda estejam documentadas, elas não devem ser usadas em novos aplicativos.

Os aplicativos cliente de automação da interface do usuário podem ser escritos com a garantia de que funcionarão em várias estruturas de controle do Microsoft Windows. O núcleo de Automação da Interface do Usuário mascara quaisquer diferenças nas estruturas subjacentes a várias partes da interface do usuário. Por exemplo, a propriedade Content de um botão Windows Presentation Foundation (WPF), a propriedade Caption de um botão Microsoft Win32 e a propriedade ALT de uma imagem HTML são mapeadas para uma única propriedade, Name, na visualização de Automação de Interface de Usuário.

A Automação da Interface do Usuário fornece funcionalidade completa no Windows XP, Windows Server 2003 e sistemas operacionais posteriores.

Os provedores de Automação da Interface do Usuário são componentes que implementam o suporte à Automação da Interface do Usuário em controles e oferecem algum suporte para aplicativos cliente do Microsoft Ative Accessibility, por meio de um serviço de ponte interno.

Observação

A Automação da Interface do Usuário não permite a comunicação entre processos iniciados por usuários diferentes por meio do comando Executar como.

Este tópico contém as seguintes seções.

  • Componentes de Automação da Interface do Usuário
  • Arquivos de cabeçalho de automação da interface do usuário
  • Modelo de automação da interface do usuário
  • Tópicos relacionados

Componentes de automação da interface do usuário

A automação da interface do usuário tem quatro componentes principais, conforme mostrado na tabela a seguir.

Componente Descrição
API do provedor Um conjunto de interfaces COM que são implementadas por provedores de automação da interface do usuário. Os provedores de automação da interface do usuário são objetos que fornecem informações sobre elementos da interface do usuário e respondem à entrada programática.
API do cliente Um conjunto de interfaces COM que permitem que os aplicativos cliente obtenham informações sobre a interface do usuário e enviem entrada para controles. Nota: As funções descritas em Funções de padrão de controle preteridas e Funções de nó preteridas foram preteridas. Em vez disso, os aplicativos cliente devem usar as interfaces COM de automação da interface do usuário descritas em interfaces de elemento de automação da interface do usuário para clientes.
UIAutomationCore.dll A biblioteca de execução, às vezes chamada de núcleo de Automação UI, que lida com a comunicação entre provedores e clientes.
Oleacc.dll A biblioteca de execução para o Microsoft Active Accessibility e os objetos proxy. A biblioteca também fornece objetos proxy usados pelo Microsoft Microsoft Ative Accessibility to UI Automation Proxy para oferecer suporte a controles Win32.

Há duas maneiras de usar a Automação da Interface do Usuário: criar suporte para controles personalizados usando a API do provedor e criar aplicativos cliente que usam o núcleo de Automação da Interface do Usuário para se comunicar com elementos da interface do usuário e recuperar informações sobre eles. Dependendo do seu foco, você deve consultar diferentes partes da documentação. Se precisar criar suporte para controlos personalizados, consulte o Guia do Programador do Provedor de Automação de UI. Se você precisar se comunicar ou recuperar informações sobre elementos da interface do usuário, consulte Guia do Programador do Cliente de Automação da Interface do Usuário.

Arquivos de cabeçalho de automação da interface do usuário

A API de automação da interface do usuário é definida em vários arquivos de cabeçalho C/C++ diferentes incluídos no Windows Software Development Kit (SDK). Os arquivos de cabeçalho da Automação da Interface do Usuário são descritos na tabela a seguir:

Arquivo de cabeçalho Descrição
UIAutomationClient.h Define as interfaces e os elementos de programação relacionados usados pelos clientes de automação da interface do usuário.
UIAutomationCore.h Define as interfaces e os elementos de programação relacionados usados pelos provedores de automação da interface do usuário.
UIAutomationCoreApi.h Define constantes gerais, GUIDs, tipos de dados e estruturas usadas por clientes e provedores de automação da interface do usuário. Ele também contém definições para o nó preterido e funções de padrão de controle.
UIAutomation.h Inclui todos os outros ficheiros de cabeçalho da Automação da Interface do Usuário. Como a maioria dos aplicativos de Automação da Interface do Usuário requer elementos de todos os arquivos de cabeçalho da Automação da Interface do Usuário, é melhor incluir UIAutomation.h em seus projetos de aplicativo de Automação da Interface do Usuário em vez de incluir cada arquivo individualmente.

Se você estiver desenvolvendo um aplicativo que usa a API de automação da interface do usuário, você deve incluir UIAutomation.h em seu projeto. Se a sua aplicação suportar o Microsoft Ative Accessibility, inclua o ficheiro de cabeçalho Oleacc.h. Os aplicativos de automação da interface do usuário que usam GUIDs também exigem o arquivo de cabeçalho Initguid.h. Se necessário, Initguid.h deve ser incluído antes de UIAutomation.h.

Modelo de automação da interface do usuário

A Automação da IU expõe cada elemento da IU às aplicações cliente como um objeto representado pela interface IUIAutomationElement. Os elementos estão contidos em uma estrutura de árvore, com a área de trabalho como o elemento raiz. Os clientes podem filtrar a exibição bruta da árvore como uma exibição de controle ou uma exibição de conteúdo. Essas exibições padrão da estrutura podem ser facilmente vistas usando o aplicativo Inspect incluído no SDK do Windows. Os aplicativos também podem criar exibições personalizadas.

Um elemento de automação da interface do usuário expõe as propriedades do elemento de controle ou da interface do usuário que ele representa. Uma dessas propriedades é o tipo de controle, que define a aparência básica e a funcionalidade do elemento de controle ou interface do usuário como uma única entidade reconhecível, por exemplo, um botão ou uma caixa de seleção. Para obter mais informações sobre tipos de controle, consulte Visão geral dos tipos de controle de automação da interface do usuário .

Além disso, um elemento de automação da interface do usuário expõe um ou mais padrões de controle. Um padrão de controle fornece um conjunto de propriedades que são específicas para um tipo de controle específico. Um padrão de controle também expõe métodos que permitem que os aplicativos cliente obtenham mais informações sobre o elemento e forneçam entrada para o elemento. Para obter mais informações sobre padrões de controle, consulte Visão geral de padrões de controle de automação da interface do usuário.

Observação

Não há correspondência um-para-um entre tipos de controle e padrões de controle. Um padrão de controle pode ser suportado por vários tipos de controle, e um controle pode suportar vários padrões de controle, cada um dos quais expõe diferentes aspetos de seu comportamento. Por exemplo, uma caixa de combinação tem pelo menos dois padrões de controlo: um que representa a sua capacidade de expandir-se e contrair-se e outro que representa o mecanismo de seleção. No entanto, um controle pode exibir apenas um único tipo de controle.

A Automação da Interface do Usuário fornece informações para aplicativos clientes por meio de eventos. Ao contrário do WinEvents, os eventos de automação da interface do usuário não são baseados em um mecanismo de transmissão. Os clientes de automação da interface do usuário se registram para notificações de eventos específicas e podem solicitar que propriedades específicas e informações de padrão de controle sejam passadas para seus manipuladores de eventos. Além disso, um evento de Automação da Interface do Usuário contém uma referência ao elemento que o gerou. Os provedores podem melhorar o desempenho ao disparar eventos de forma seletiva, dependendo de haver ou não algum cliente a ouvir. Para obter mais informações sobre eventos, consulte Visão geral eventos de automação da interface do usuário.

Conceptual

Visão geral dos tipos de controle de automação da interface do UI

Visão geral dos padrões de automação de controle da interface do utilizador

Visão geral dos eventos de automação da interface do utilizador