Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Cette documentation est destinée aux développeurs .NET Framework qui souhaitent 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.
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 un accès programmatique à la plupart des éléments d’interface utilisateur sur le bureau, ce qui permet aux produits technologiques d’assistance tels que les lecteurs d’écran de fournir des informations sur l’interface utilisateur aux utilisateurs finaux et de manipuler l’interface utilisateur par un moyen autre que l’entrée standard. UI Automation permet également aux scripts de test automatisés d’interagir avec l’interface utilisateur.
Remarque
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 clientes UI Automation peuvent être écrites avec l’assurance qu’elles fonctionnent sur plusieurs frameworks. Le cœur UI Automation masque toutes les différences dans les frameworks qui sous-tendent différents éléments de l’interface utilisateur. Par exemple, la Content
propriété d’un bouton WPF, la Caption
propriété d’un bouton Win32 et la ALT
propriété d’une image HTML sont toutes mappées à une propriété unique, Namedans la vue UI Automation.
UI Automation fournit des fonctionnalités complètes sur les systèmes d’exploitation Windows pris en charge exécutant le .NET Framework (consultez la configuration système requise ou les versions de .NET Core à partir de .NET Core 3.0.
Les fournisseurs d’Automation de l’interface utilisateur fournissent un support pour applications clientes Microsoft Active Accessibility via un service de liaison intégré.
Fournisseurs et clients
UI Automation comporte quatre composants principaux, comme indiqué dans le tableau suivant.
Composant | Descriptif |
---|---|
API fournisseur (UIAutomationProvider.dll et UIAutomationTypes.dll) | Ensemble de définitions d’interface implémentées par les fournisseurs UI Automation, objets qui fournissent des informations sur les éléments d’interface utilisateur et répondent à l’entrée par programmation. |
API cliente (UIAutomationClient.dll et UIAutomationTypes.dll) | Ensemble de types pour le code managé qui permet aux applications clientes UI Automation d’obtenir des informations sur l’interface utilisateur et d’envoyer des entrées aux contrôles. |
UiAutomationCore.dll | Code sous-jacent (parfois appelé cœur UI Automation) qui gère la communication entre les fournisseurs et les clients. |
UIAutomationClientsideProviders.dll | Ensemble de fournisseurs d'automatisation de l'interface utilisateur pour les contrôles hérités standard. (Les contrôles WPF prennent en charge nativement UI Automation.) Cette prise en charge est automatiquement disponible pour les applications clientes. |
Du point de vue du développeur de logiciels, il existe deux façons d’utiliser UI Automation : pour créer la prise en charge des contrôles personnalisés (à l’aide de l’API fournisseur) et la création d’applications qui utilisent le cœur UI Automation pour communiquer avec des éléments d’interface utilisateur (à l’aide de l’API cliente). Selon votre focus, vous devez faire référence à différentes parties de la documentation. Vous pouvez en savoir plus sur les concepts et obtenir des connaissances pratiques dans les sections suivantes.
Section | Contenu | Public visé |
---|---|---|
Principes de base d’UI Automation (cette section) | Vue d’ensemble des concepts. | Tout. |
Fournisseurs d'UI Automation pour le pour le code managé | Vue d’ensemble et rubriques de procédures pour vous aider à utiliser l’API fournisseur. | Contrôler les développeurs. |
UI Automation clients pour le code géré | Vue d’ensemble et rubriques de procédures pour vous aider à utiliser l’API cliente. | Développeurs d’applications clientes. |
Modèles de contrôle d'Automation UI | Informations sur la façon dont les modèles de contrôle doivent être implémentés par les fournisseurs et 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 de texte doit être implémenté par les fournisseurs et les fonctionnalités disponibles pour les clients. | Tout. |
Types de contrôle IU Automation | Informations sur les propriétés et les modèles de contrôle pris en charge par différents types de contrôle. | Tout. |
Le tableau suivant répertorie les espaces de noms UI Automation, les DLL qui les contiennent et l’audience qui les utilise.
Namespace | DLL référencées | Public visé |
---|---|---|
System.Windows.Automation | UIAutomationClientUIAutomationTypes | Développeurs de clients d’Automation de l’interface utilisateur ; permettent de rechercher des objets AutomationElement, d’inscrire des événements d’Automation de l’interface utilisateur, et d’utiliser des modèles de contrôle de l’Automation de l’interface utilisateur. |
System.Windows.Automation.Provider | UIAutomationProviderUIAutomationTypes | Développeurs de fournisseurs d'automatisation de l'interface utilisateur pour des frameworks autres que WPF. |
System.Windows.Automation.Text | UIAutomationClientUIAutomationTypes | Développeurs de fournisseurs d’Automation de l’interface utilisateur pour des infrastructures autres que WPF ; permettent d’implémenter le modèle de contrôle TextPattern. |
System.Windows.Automation.Peers | PresentationFramework | Développeurs de fournisseurs d'automatisation de l'interface utilisateur pour WPF. |
Modèle UI Automation
UI Automation expose chaque élément de l’interface utilisateur aux applications clientes en tant que 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 en tant qu’affichage de contrôle ou vue de contenu. Les applications peuvent également créer des vues personnalisées.
AutomationElement les objets exposent les propriétés courantes des éléments d’interface utilisateur 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 entité reconnaissable unique : par exemple, un bouton ou une case à cocher.
En outre, 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 supplémentaires sur l’élément et de fournir une entrée.
Remarque
Il n’existe 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 possède au moins deux modèles de contrôle : un qui représente sa capacité de développement et de réduction, et l’autre qui représente le mécanisme de sélection. Pour plus d’informations, consultez UI Automation Control Types.
UI Automation fournit également des informations aux applications clientes par le biais d’événements. Contrairement à WinEvents, les événements UI Automation ne sont pas basés sur un mécanisme de diffusion. Les clients UI Automation s’inscrivent pour des notifications d’événements spécifiques et peuvent demander que des informations spécifiques sur les propriétés et les modèles de contrôle UI Automation soient transmises à leurs gestionnaires d’événements. En outre, 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
- 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