Partilhar via


Implementação de Provedor de Automação de Interface de Usuário do Lado do Cliente

Vários diferentes As estruturas estiverem em uso no Sistemas Operacionais, incluindo Win32, e . apresenta informações sobre interface do usuário elementos aos clientes.No entanto, Não se tem conscientização dos diferentes tipos de controles que existem nessas estruturas e as técnicas necessárias para extrair informações a partir deles.Em vez disso, ela deixa essa tarefa para objetos chamados provedores.Extrai informações de um controle específico e passa essas informações para um provedor Que, em seguida, apresenta-lo para o cliente de uma maneira consistente.

Provedores podem existir no lado do servidor ou no lado do cliente.Um provedor de servidor é implementado pelo controle propriamente dito. Elementos implementam provedores, como os controles de terceiros escritos com em mente.

No entanto, controles mais antigos, como os Win32 e Fazer não diretamente suporte .Esses controles são atendidos, em vez disso, por provedores que existem no processo do cliente e obtêm informações sobre controles usando comunicação entre processos; por exemplo, através do monitoramento de mensagens de janela para e a partir dos controles.Esses provedores do lado do cliente são chamados proxies.

Fornece provedores para padrão Win32 e Controles.Além disso, um provedor de fallVoltar oferece parcial Suporte a qualquer controle que não é atendido por outro provedor do lado do servidor ou proxy, mas tem um a implementação.Todos esses provedores são automaticamente carregados e estão disponíveis para aplicativos cliente.

Para obter mais informações sobre suporte. Win32 e Controles, consulte Suporte a automação de interface do usuário para Controles Padrão.

Os aplicativos também podem registrar outros provedores do lado do cliente.

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

Distribuindo provedores do lado do cliente

Espera Localizar provedores do lado do cliente em um gerenciado - assembly de código.O espaço de nomes neste conjunto de módulos (assembly) deve ter o mesmo nome do conjunto de módulos.Por exemplo, um conjunto de módulos (assembly) denominado ContosoProxies.dll conteria o namespace ContosoProxies.Dentro do espaço para nome, Criar um UIAutomationClientSideProviders a classe.Na implementação de estático. ClientSideProviderDescriptionTable Campo, crie uma matriz de ClientSideProviderDescription Estruturas descrevendo os provedores.

Registrando e configurando os provedores do lado do cliente

Provedores do lado do cliente em um são carregados chamando [M:System.Windows.Automation.ClientConfigurações.RegisterClientSideProviderAssembly(System.Reflexo.AssemblyNome)].Nenhuma ação adicional é necessária para um aplicativo cliente fazer uso dos provedores.

Provedores implementados no código do próprio cliente são registrados pelo uso RegisterClientSideProviders.Este método utiliza como um argumento uma matriz de ClientSideProviderDescription estruturas, cada um deles Especifica as propriedades a seguir:

  • Um função de retorno de chamada que cria o objeto do provedor.

  • O nome da classe dos controles à qual o provedor vai servir.

  • O nome de imagem do aplicativo (geralmente a nome completo do arquivo executável) ao qual o provedor servirá.

  • Os sinalizadores que determinam como o nome da classe é comparado com as classes de janela encontradas no aplicativo alvo.

Os dois últimos parâmetros são opcionais.O cliente pode especificar o nome de imagem do aplicativo alvo quando desejar usar provedores diferentes para aplicativos diferentes.Por exemplo, o cliente pode usar um provedor para um Win32 Modo de exibição de lista Controle em um conhecido aplicativo que ofereça suporte o Múltiplo Exibir padrão e outro para um controle semelhante em outro aplicativo conhecido que não.

Consulte também

Tarefas

Criar um Provedor de Automação de Interface de Usuário do Lado do Cliente

Implement UI Automation Providers in a Client Application