Cenni preliminari su automazione interfaccia utente
Microsoft Automazione interfaccia utente è un framework di accessibilità per Windows. Fornisce l'accesso a livello di codice alla maggior parte degli elementi dell'interfaccia utente sul desktop. Consente ai prodotti di tecnologia assistive, ad esempio le utilità per la lettura dello schermo, di fornire informazioni sull'interfaccia utente agli utenti finali e di modificare l'interfaccia utente in modo diverso dall'input standard. Automazione interfaccia utente consente anche agli script di test automatizzati di interagire con l'interfaccia utente.
Automazione interfaccia utente è stata prima disponibile in Windows XP come parte di Microsoft .NET Framework. Anche se un'API C++ non gestita è stata pubblicata anche in quel momento, l'utilità delle funzioni client è stata limitata a causa di problemi di interoperabilità. Per Windows 7, l'API è stata riscritta nel modello a oggetti componente (COM).
Nota
Anche se le funzioni di libreria introdotte nella versione precedente di Automazione interfaccia utente sono ancora documentate, non devono essere usate nelle nuove applicazioni.
Automazione interfaccia utente applicazioni client possono essere scritte con la garanzia che funzionino su più framework di controllo di Microsoft Windows. Il core Automazione interfaccia utente maschera le differenze nei framework che sottolieno varie parti dell'interfaccia utente. Ad esempio, la proprietà Content di un pulsante Windows Presentation Foundation (WPF), la proprietà Caption di un pulsante Microsoft Win32 e la proprietà ALT di un'immagine HTML vengono mappate a una singola proprietà, Name, nella visualizzazione Automazione interfaccia utente.
Automazione interfaccia utente offre funzionalità complete in Windows XP, Windows Server 2003 e sistemi operativi successivi.
Automazione interfaccia utente provider sono componenti che implementano Automazione interfaccia utente supporto per i controlli e offrono un supporto per le applicazioni client di Accessibilità attiva Microsoft, tramite un servizio di bridging predefinito.
Nota
Automazione interfaccia utente non abilita la comunicazione tra processi avviati da utenti diversi tramite il comando Esegui come.
In questo argomento sono contenute le sezioni seguenti.
- componenti Automazione interfaccia utente
- file di intestazione Automazione interfaccia utente
- Modello di automazione interfaccia utente
- Argomenti correlati
componenti Automazione interfaccia utente
Automazione interfaccia utente include quattro componenti principali, come illustrato nella tabella seguente.
Componente | Descrizione |
---|---|
Provider API | Set di interfacce COM implementate dai provider di Automazione interfaccia utente. Automazione interfaccia utente provider sono oggetti che forniscono informazioni sugli elementi dell'interfaccia utente e rispondono all'input a livello di codice. |
API client | Set di interfacce COM che consentono alle applicazioni client di ottenere informazioni sull'interfaccia utente e di inviare input ai controlli.
Nota: Le funzioni descritte in Funzioni modello di controllodeprecate e funzioni nodo deprecate sono deprecate . Le applicazioni client devono invece usare le interfacce COM Automazione interfaccia utente descritte in interfacce elemento Automazione interfaccia utente per i client. |
UIAutomationCore.dll | La libreria di runtime, talvolta denominata core Automazione interfaccia utente, che gestisce la comunicazione tra provider e client. |
Oleacc.dll | Libreria di runtime per Microsoft Active Accessibility e gli oggetti proxy. La libreria fornisce anche oggetti proxy usati da Microsoft Active Accessibility per Automazione interfaccia utente Proxy per supportare i controlli Win32. |
Esistono due modi per usare Automazione interfaccia utente: per creare il supporto per i controlli personalizzati usando l'API del provider e per creare applicazioni client che usano il core Automazione interfaccia utente per comunicare e recuperare informazioni sugli elementi dell'interfaccia utente. In base allo stato attivo, è necessario fare riferimento a parti diverse della documentazione. Se è necessario creare il supporto per i controlli personalizzati, vedere Automazione interfaccia utente Guida del programmatore del provider. Se è necessario comunicare con o recuperare informazioni sugli elementi dell'interfaccia utente, vedere Automazione interfaccia utente Guida del programmatore client.
file di intestazione Automazione interfaccia utente
L'API Automazione interfaccia utente è definita in diversi file di intestazione C/C++ inclusi in Windows Software Development Kit (SDK). I file di intestazione Automazione interfaccia utente sono descritti nella tabella seguente:
File di intestazione | Descrizione |
---|---|
UIAutomationClient.h | Definisce le interfacce e gli elementi di programmazione correlati usati dai client Automazione interfaccia utente. |
UIAutomationCore.h | Definisce le interfacce e gli elementi di programmazione correlati usati dai provider di Automazione interfaccia utente. |
UIAutomationCoreApi.h | Definisce costanti generali, GUID, tipi di dati e strutture usate da Automazione interfaccia utente client e provider. Contiene anche definizioni per le funzioni del nodo deprecato e del modello di controllo. |
UIAutomation.h | Include tutti gli altri file di intestazione Automazione interfaccia utente. Poiché la maggior parte delle applicazioni Automazione interfaccia utente richiedono elementi da tutti i file di intestazione Automazione interfaccia utente, è consigliabile includere UIAutomation.h nei progetti dell'applicazione Automazione interfaccia utente anziché includere ogni file singolarmente. |
Se si sta sviluppando un'applicazione che usa l'API Automazione interfaccia utente, è necessario includere UIAutomation.h nel progetto. Se l'applicazione supporta l'accessibilità attiva Microsoft, includere il file di intestazione Oleacc.h. Automazione interfaccia utente applicazioni che usano GUID richiedono anche il file di intestazione Initguid.h. Se necessario, Initguid.h deve essere incluso prima di UIAutomation.h.
Modello di automazione interfaccia utente
Automazione interfaccia utente espone ogni elemento dell'interfaccia utente alle applicazioni client come oggetto rappresentato dall'interfaccia IUIAutomationElement. Gli elementi sono contenuti in una struttura ad albero, con il desktop come elemento radice. I client possono filtrare la visualizzazione non elaborata della struttura ad albero come visualizzazione controlli o visualizzazione contenuto. Queste viste standard della struttura possono essere facilmente visualizzate usando l'applicazione Inspect inclusa in Windows SDK. Le applicazioni possono inoltre creare visualizzazioni personalizzate.
Un elemento Automazione interfaccia utente espone le proprietà del controllo o dell'elemento dell'interfaccia utente che rappresenta. Una di queste proprietà è il tipo di controllo, che definisce l'aspetto e la funzionalità di base dell'elemento controllo o dell'interfaccia utente come singola entità riconoscibile, ad esempio un pulsante o una casella di controllo. Per altre informazioni sui tipi di controllo, vedere Panoramica dei tipi di controllo Automazione interfaccia utente.
Inoltre, un elemento Automazione interfaccia utente espone uno o più modelli di controllo. Un modello di controllo fornisce un set di proprietà specifiche di un tipo di controllo specifico. Un modello di controllo espone anche i metodi che consentono alle applicazioni client di ottenere altre informazioni sull'elemento e di fornire input all'elemento. Per altre informazioni sui pattern di controllo, vedere UI Automation Control Patterns Overview.
Nota
Non esiste alcuna corrispondenza uno-a-uno tra i tipi di controllo e i modelli di controllo. Un pattern di controllo può essere supportato da più tipi di controllo e un controllo può supportare più pattern di controllo, ognuno dei quali espone aspetti diversi del comportamento. Ad esempio, una casella combinata dispone di almeno due pattern di controllo: uno che rappresenta la possibilità di espansione e compressione e un altro che rappresenta il meccanismo di selezione. Tuttavia, un controllo può presentare solo un singolo tipo di controllo.
Automazione interfaccia utente fornisce informazioni alle applicazioni client tramite eventi. A differenza di WinEvents, gli eventi Automazione interfaccia utente non sono basati su un meccanismo di trasmissione. Automazione interfaccia utente client registrano notifiche di eventi specifiche e possono richiedere che le informazioni specifiche sui criteri di controllo e proprietà vengano passate ai gestori eventi. Inoltre, un evento Automazione interfaccia utente contiene un riferimento all'elemento generato. I provider possono migliorare le prestazioni generando eventi in modo selettivo, a seconda dei client in ascolto. Per altre informazioni sugli eventi, vedere UI Automation Events Overview.