Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.
Diversi framework dell'interfaccia utente sono in uso all'interno dei sistemi operativi Microsoft, tra cui Win32, Windows Form e Windows Presentation Foundation (WPF). Automazione interfaccia utente Microsoft espone informazioni sugli elementi dell'interfaccia utente ai client. Tuttavia, UI Automation non ha consapevolezza dei diversi tipi di controlli che esistono nei framework e delle tecniche necessarie per estrarre informazioni da tali controlli. Lascia invece questa attività agli oggetti denominati provider. Un provider estrae informazioni da un controllo specifico e passa le informazioni all'automazione interfaccia utente, che le presenta al client in modo coerente.
I provider possono esistere sul lato server o sul lato client. Un provider lato server viene implementato dal controllo stesso. Gli elementi WPF implementano i provider, così come possono fare i controlli di terze parti scritti pensando all'Automazione Interfaccia Utente.
Tuttavia, i controlli meno recenti, ad esempio quelli in Win32 e Windows Form, non supportano direttamente l'automazione interfaccia utente. Questi controlli vengono invece gestiti dai provider esistenti nel processo client e ottengono informazioni sui controlli che usano la comunicazione tra processi; monitorando ad esempio i messaggi di Windows da e verso i controlli. Tali provider lato client sono talvolta chiamati proxy.
Windows Vista fornisce i provider per i controlli Win32 e Windows Forms standard. Inoltre, un provider di fallback offre supporto parziale per l'automazione dell'interfaccia utente a qualsiasi controllo che non sia gestito da un altro provider lato server o proxy, ma che ha un'implementazione di Microsoft Active Accessibility. Tutti questi provider vengono caricati automaticamente e disponibili per le applicazioni client.
Per altre informazioni sul supporto per i controlli Win32 e Windows Form, vedere Supporto automazione interfaccia utente per controlli standard.
Le applicazioni possono anche registrare altri provider lato client.
Distribuzione dei fornitori di Client-Side
L'automazione dell'interfaccia utente prevede di trovare i provider sul lato client in un assembly di codice gestito. Lo spazio dei nomi in questo assembly deve avere lo stesso nome dell'assembly. Ad esempio, un assembly denominato ContosoProxies.dll conterrà lo spazio dei nomi ContosoProxies. All'interno dello spazio dei nomi creare una UIAutomationClientSideProviders classe . Nell'implementazione del campo statico ClientSideProviderDescriptionTable creare una matrice di ClientSideProviderDescription strutture che descrivono i provider.
Registrazione e configurazione dei provider di Client-Side
I provider lato client in una libreria di collegamento dinamico (DLL) vengono caricati chiamando RegisterClientSideProviderAssembly. Non sono necessarie altre azioni da parte di un'applicazione client per l'uso dei provider.
I provider implementati nel codice del client vengono registrati tramite RegisterClientSideProviders. Questo metodo accetta come argomento una matrice di ClientSideProviderDescription strutture, ognuna delle quali specifica le proprietà seguenti:
Funzione di callback che crea l'oggetto provider.
Nome della classe dei controlli che verrà utilizzato dal provider.
Nome dell'immagine dell'applicazione (in genere il nome completo del file eseguibile) che verrà usato dal provider.
Flag che regolano la corrispondenza del nome della classe rispetto alle classi di finestra trovate nell'applicazione di destinazione.
Gli ultimi due parametri sono facoltativi. Il client potrebbe specificare il nome dell'immagine dell'applicazione di destinazione quando vuole usare provider diversi per applicazioni diverse. Ad esempio, il client potrebbe usare un provider per un controllo visualizzazione elenco Win32 in un'applicazione nota che supporta il modello Visualizzazione multipla e un altro per un controllo simile in un'altra applicazione nota che non lo supporta.