Condividi tramite


Implementazione dei provider di automazione interfaccia utente sul lato client

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

Nei sistemi operativi Microsoft vengono utilizzati molti framework di user interface (UI) diversi, inclusi Win32, Windows Formse Windows Presentation Foundation (WPF). Microsoft UI Automation espone informazioni sugli elementi dell'interfaccia utente ai client. In UI Automation non vi è tuttavia consapevolezza dei tipi diversi di controlli che esistono nei framework e delle tecniche necessarie per estrarne le informazioni. Questa attività viene infatti eseguita da oggetti noti come provider. Un provider estrae informazioni da un controllo specifico e le fornisce ad UI Automation che le presenta al client in modo coerente.

I provider possono essere sul lato server o sul lato client. Un provider sul lato server viene implementato dal controllo stesso. Gli elementi WPF implementano provider, così come qualsiasi controllo di terze parti scritto in funzione di UI Automation.

Controlli più obsoleti, ad esempio quelli di Win32 e Windows Forms, tuttavia, non supportano direttamente UI Automation. Questi controlli sono serviti da provider esistenti nel processo client e ottengono informazioni sui controlli utilizzando la comunicazione tra processi, ad esempio monitorando i messaggi delle finestre relativi ai controlli. Questi provider sul lato client sono talvolta denominati proxy.

Windows Vista fornisce provider per i controlli Win32 e Windows Forms standard. È inoltre disponibile un provider di fallback che offre un supporto parziale per UI Automation a qualsiasi controllo non servito da un altro provider sul lato server o proxy ma con implementazione Microsoft Active Accessibility. Tutti questi provider vengono caricati automaticamente e sono disponibili alle applicazioni client.

Per ulteriori informazioni sul supporto per i controlli Win32 e Windows Forms, vedere Supporto per automazione interfaccia utente dei controlli standard.

Le applicazioni possono anche registrare altri provider sul lato client.

Nel presente argomento sono contenute le seguenti sezioni.

  • Distribuzione di provider sul lato client
  • Registrazione e configurazione di provider sul lato client
  • Argomenti correlati

Distribuzione di provider sul lato client

In UI Automation è previsto che i provider sul lato client si trovino in un assembly in codice gestito. Lo spazio dei nomi in questo assembly deve avere lo stesso nome dell'assembly. Ad esempio, un assembly denominato ContosoProxies.dll deve contenere lo spazio dei nomi ContosoProxies. All'interno dello spazio dei nomi, creare una classe UIAutomationClientSideProviders. Nell'implementazione del campo ClientSideProviderDescriptionTable statico, creare una matrice di strutture ClientSideProviderDescription che descrive i provider.

Registrazione e configurazione di provider sul lato client

I provider sul lato client in una dynamic-link library (DLL) vengono caricati chiamando il metodo RegisterClientSideProviderAssembly. Per utilizzare i provider, non sono richieste altre azione da parte delle applicazioni client.

I provider implementati nel codice del client vengono registrati tramite RegisterClientSideProviders. Questo metodo accetta come argomento una matrice di strutture ClientSideProviderDescription, ciascuna delle quali specifica le proprietà seguenti:

  • Una funzione di richiamata che crea l'oggetto provider.

  • Il nome della classe dei controlli che servirà il provider.

  • Il nome dell'immagine (in genere il nome completo del file eseguibile) dell'applicazione che servirà il provider.

  • Flag che regolano la modalità con cui il nome della classe viene fatto corrispondere alle classi di finestra cercate nell'applicazione di destinazione.

Gli ultimi due parametri sono facoltativi. Il nome dell'immagine dell'applicazione di destinazione potrebbe venire specificato per consentire al client di utilizzare provider diversi per applicazioni diverse. Ad esempio, il client potrebbe utilizzare un provider per un controllo visualizzazione elenco Win32 in un'applicazione nota che supporta il modello di visualizzazione multipla e un altro per un controllo simile in un'altra applicazione nota che non supporta tale modello.

Vedere anche

Attività

Creare un provider di automazione interfaccia utente lato client

Implementare i provider di automazione interfaccia utente in un'applicazione client