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

Este tópico contém código de exemplo que mostra como implementar um do lado do cliente Interface do usuário de automação do provedor.

Exemplo

O seguinte exemplo de código pode ser criado em um que implementa um provedor muito simples do lado do cliente para uma janela do console.O código não tem nenhuma funcionalidade útil, porém destina para demonstrar o Basic as etapas da configuração de um provedor conjunto de módulos (assembly) que pode ser registrado por um Cliente de Automação interface do usuário Aplicativo.

 System;
 System.Windows.Automation;
 System.Windows.Automation.Provider;

 ClientSideProviderAssembly
{
    
    
    
    

      UIAutomationClientSideProviders
    {
        
        
        
        
          ClientSideProviderDescription[] ClientSideProviderDescriptionTable = 
            { 
                 ClientSideProviderDescription(
                    
                     ClientSideProviderFactoryCallback(ConsoleProvider.Create),   
                    
                    )                                                
            };
    }

     ConsoleProvider : IRawElementProviderSimple
    {
        IntPtr providerHwnd;

         ConsoleProvider(IntPtr hwnd)
        {
            providerHwnd = hwnd;
        }

          IRawElementProviderSimple Create(
            IntPtr hwnd,  idChild,  idObject)
        {
            
            
             (idChild != 0)
                 ;
            
                  ConsoleProvider(hwnd);

        }

          IRawElementProviderSimple Create(
            IntPtr hwnd,  idChild)
        {
            
             (idChild != 0)  ;
               ConsoleProvider(hwnd);
        }

        #region IRawElementProviderSimple

        
        
        

        ProviderOptions IRawElementProviderSimple.ProviderOptions
        {
            
            {
                 ProviderOptions.ClientSideProvider;
            }
        }

        IRawElementProviderSimple IRawElementProviderSimple.HostRawElementProvider
        {
            
            {
                 AutomationInteropProvider.HostProviderFromHandle(providerHwnd);
            }
        }

        object IRawElementProviderSimple.GetPropertyValue( propertyId)
        {
             (propertyId == AutomationElementIdentifiers.NameProperty.Id)
                 ;
            
                 ;

        }

        object IRawElementProviderSimple.GetPatternProvider( iid)
        {
             ;
        }
        #endregion IRawElementProviderSimple
    }
}

Consulte também

Tarefas

Register a Client-Side Provider Assembly

Conceitos

UI Automation Providers Overview