Partager via


Vue d'ensemble d'UI Automation

RemarqueRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui veulent utiliser les classes UI Automation managées définies dans l'espace de noms System.Windows.Automation.Pour obtenir les informations les plus récentes sur UI Automation, consultez API Windows Automation : UI Automation (page éventuellement en anglais).

Microsoft UI Automation est la nouvelle infrastructure d'accessibilité pour Microsoft Windows, disponible sur tous les systèmes d'exploitation qui prennent en charge Windows Presentation Foundation (WPF).

UI Automation fournit l'accès par programmation à la plupart des éléments d' user interface (UI) du bureau, permettant ainsi aux produits de technologie d'assistance tels que les lecteurs d'écran de fournir aux utilisateurs finaux des informations sur l'UI et de manipuler l'UI par d'autres moyens que l'entrée standard. UI Automation permet également aux scripts de test automatisé d'interagir avec l'UI.

RemarqueRemarque

UI Automation n'active pas la communication entre les processus démarrés par différents utilisateurs via la commande Exécuter en tant que.

Les applications du client UI Automation peuvent être écrites avec l'assurance qu'elles fonctionneront sur plusieurs infrastructures. Le programme principal d'UI Automation masque toute les différences des infrastructures sous-jacentes à plusieurs parties de l'UI. Par exemple, la propriété Content d'un bouton WPF, la propriété Caption d'un bouton Win32 et la propriété ALT d'une image HTML sont toutes mappées à une seule propriété, Name, dans l'affichage UI Automation.

UI Automation fournit des fonctionnalités complètes dans Windows Vista, Microsoft Windows XP et Windows Server 2003.

Les fournisseurs UI Automation offrent une certaine prise en charge pour les applications clientes Microsoft Active Accessibility, à l'aide d'un service de liaison intégré.

Cette rubrique comprend les sections suivantes.

  • Fournisseurs et clients
  • Modèle UI Automation
  • Rubriques connexes

Fournisseurs et clients

UI Automation a quatre composants principaux, comme indiqué dans le tableau suivant.

Composant

Description

API fournisseur (UIAutomationProvider.dll et UIAutomationTypes.dll)

Jeu de définitions d'interface implémentées par des fournisseurs UI Automation, objets qui fournissent des informations sur des éléments d'UI et répondent à l'entrée de programmation.

API cliente (UIAutomationClient.dll et UIAutomationTypes.dll)

Jeu de types pour le code managé qui permet aux applications du client UI Automation d'obtenir des informations à propos de l'UI et d'envoyer l'entrée aux contrôles.

UiAutomationCore.dll

Code sous-jacent (parfois appelé programme principal d'UI Automation) qui gère la communication entre fournisseurs et clients.

UIAutomationClientsideProviders.dll

Jeu de fournisseurs UI Automation pour les contrôles hérités standard. (Les contrôles WPF sont dotés d'une prise en charge native pour UI Automation.) Cette prise en charge est automatiquement disponible aux applications clientes.

Du point de vue du développeur de logiciels, il existe deux façons d'utiliser UI Automation : créer la prise en charge pour les contrôles personnalisés (à l'aide de l'API fournisseur), et créer des applications qui utilisent le programme principal d'UI Automation pour communiquer avec des éléments d'UI (à l'aide de l'API cliente). Selon vos objectifs, vous devez vous reporter à différentes parties de la documentation. Les sections suivantes vous permettront d'approfondir les concepts et d'obtenir des connaissances pratiques.

Section

Sujet

Public

Notions de base d'UI Automation (cette section)

Vues d'ensemble générales des concepts.

Tout.

Fournisseurs UI Automation pour le code managé

Vues d'ensemble et rubriques "Comment" pour vous aider à utiliser l'API fournisseur.

Développeurs de contrôles.

Clients UI Automation pour le code managé

Vues d'ensemble et rubriques "Comment" pour vous aider à utiliser l'API cliente.

Développeurs d'applications clientes.

Modèles de contrôle UI Automation

Informations sur la façon dont les modèles de contrôle doivent être implémentés par les fournisseurs et sur les fonctionnalités disponibles pour les clients.

Tout.

Modèle de texte UI Automation

Informations sur la façon dont le modèle de contrôle Texte doit être implémenté par les fournisseurs et sur les fonctionnalités disponibles pour les clients.

Tout.

Types de contrôle UI Automation

Informations à propos des propriétés et modèles de contrôle pris en charge par des types de contrôle différents.

Tout.

Le tableau suivant répertorie les espaces de noms UI Automation, les DLL qui les contiennent et le public qui les utilise.

Espace de noms

DLL référencées

Public

System.Windows.Automation

UIAutomationClientUIAutomationTypes

Développeurs de clients UI Automation ; utilisés pour rechercher des objets AutomationElement, s'inscrire pour des événements UI Automation et utiliser des modèles de contrôle UI Automation.

System.Windows.Automation.Provider

UIAutomationProviderUIAutomationTypes

Développeurs de fournisseurs UI Automation pour des infrastructures autres que WPF.

System.Windows.Automation.Text

UIAutomationClientUIAutomationTypes

Développeurs de fournisseurs UI Automation pour des infrastructures autres que WPF ; utilisés pour implémenter le modèle de contrôle TextPattern.

System.Windows.Automation.Peers

PresentationFramework

Développeurs de fournisseurs UI Automation pour WPF.

Modèle UI Automation

UI Automation expose chaque partie de l'UI aux applications clientes comme AutomationElement. Les éléments sont contenus dans une arborescence, avec le bureau comme élément racine. Les clients peuvent filtrer l'affichage brut de l'arborescence comme un affichage de contrôle ou un affichage du contenu. (Ces affichages standard de la structure peuvent facilement être consultés en utilisant l'application UI Spy incluse avec ce software development kit (SDK)). Les applications peuvent également créer des affichages personnalisés.

Les objets AutomationElement exposent les propriétés communes des éléments d'UI qu'ils représentent. L'une de ces propriétés est le type de contrôle, qui définit son apparence et ses fonctionnalités de base comme une seule entité reconnaissable : par exemple, un bouton ou une case à cocher.

De plus, les éléments exposent des modèles de contrôle qui fournissent des propriétés spécifiques à leurs types de contrôle. Les modèles de contrôle exposent également des méthodes qui permettent aux clients d'obtenir des informations complémentaires à propos de l'élément et de fournir une entrée.

RemarqueRemarque

Il n'y a pas de correspondance un à un entre les types de contrôle et les modèles de contrôle.Un modèle de contrôle peut être pris en charge par plusieurs types de contrôle, et un contrôle peut prendre en charge plusieurs modèles de contrôle, chacun d'eux exposant différents aspects de son comportement.Par exemple, une zone de liste déroulante dispose au moins de deux modèles de contrôle : un qui représente sa capacité de développement et de réduction, et un autre qui représente le mécanisme de sélection.Pour les caractéristiques spécifiques, consultez Types de contrôle UI Automation.

UI Automation fournit également des informations aux applications clientes via des événements. Contrairement à WinEvents, les événements UI Automation ne reposent pas sur un mécanisme de diffusion. Les clients UI Automation enregistrent les notifications d'événements spécifiques et peuvent demander que les propriétés UI Automation spécifiques et les informations de modèle de contrôle soient passées à leurs gestionnaires d'événements. De plus, un événement UI Automation contient une référence à l'élément qui l'a déclenché. Les fournisseurs peuvent améliorer les performances en déclenchant des événements de manière sélective, selon que des clients les écoutent ou non.

Voir aussi

Concepts

Vue d'ensemble de l'arborescence UI Automation

Vue d'ensemble des modèles de contrôle UI Automation

Vue d'ensemble des propriétés UI Automation

Vue d'ensemble des événements UI Automation

Vue d'ensemble de la sécurité UI Automation