Vue d'ensemble d'UI Automation

Microsoft UI Automation est une infrastructure d’accessibilité pour Windows. Il fournit un accès par programmation à la plupart des éléments de l’interface utilisateur sur le bureau. Il permet aux produits de technologie 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 d’autres moyens que l’entrée standard. L’Automation de l’interface utilisateur permet également aux scripts de test automatisés d’interagir avec l’interface utilisateur.

UI Automation a d’abord été disponible dans Windows XP dans le cadre de Microsoft .NET Framework. Bien qu’une API C++ non managée ait également été publiée à cette époque, l’utilité des fonctions clientes était limitée en raison de problèmes d’interopérabilité. Pour Windows 7, l’API a été réécrite dans le modèle objet de composant (COM).

Notes

Bien que les fonctions de bibliothèque introduites dans la version antérieure d’UI Automation soient toujours documentées, elles ne doivent pas être utilisées dans de nouvelles applications.

Les applications clientes UI Automation peuvent être écrites avec l’assurance qu’elles fonctionneront sur plusieurs frameworks de contrôle Microsoft Windows. 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 propriété Content d’un bouton Windows Presentation Foundation (WPF), la propriété Caption d’un bouton Microsoft Win32 et la propriété ALT d’une image HTML sont toutes mappées à une seule propriété, Name, dans la vue UI Automation.

UI Automation fournit des fonctionnalités complètes dans les systèmes d’exploitation Windows XP, Windows Server 2003 et ultérieurs.

Les fournisseurs UI Automation sont des composants qui implémentent la prise en charge d’UI Automation sur les contrôles et offrent une certaine prise en charge des applications clientes Microsoft Active Accessibility, par le biais d’un service de pontage intégré.

Notes

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 .

Cette rubrique contient les sections suivantes.

Composants UI Automation

L’Automation de l’interface utilisateur possède quatre composants principaux, comme le montre le tableau suivant.

Composant Description
API fournisseur Ensemble d’interfaces COM implémentées par les fournisseurs UI Automation. Les fournisseurs UI Automation sont des objets qui fournissent des informations sur les éléments d’interface utilisateur et répondent aux entrées programmatiques.
API client Ensemble d’interfaces COM qui permettent aux applications clientes d’obtenir des informations sur l’interface utilisateur et d’envoyer des entrées aux contrôles. Note: Les fonctions décrites dans Fonctions de modèle de contrôle déconseillées et Fonctions de nœud dépréciées sont dépréciées. Au lieu de cela, les applications clientes doivent utiliser les interfaces COM UI Automation décrites dans UI Automation Element Interfaces for Clients.
UIAutomationCore.dll Bibliothèque au moment de l’exécution, parfois appelée cœur UI Automation, qui gère la communication entre les fournisseurs et les clients.
Oleacc.dll Bibliothèque d’exécution pour les objets Microsoft Active Accessibility et proxy. La bibliothèque fournit également des objets proxy utilisés par Microsoft Microsoft Active Accessibility to UI Automation proxy pour prendre en charge les contrôles Win32.

Il existe deux façons d’utiliser UI Automation : créer une prise en charge des contrôles personnalisés à l’aide de l’API du fournisseur et créer des applications clientes qui utilisent le cœur UI Automation pour communiquer avec les éléments d’interface utilisateur et récupérer des informations sur ces éléments. Selon votre objectif, reportez-vous à différentes parties de cette documentation. Si vous devez créer une prise en charge des contrôles personnalisés, consultez Guide du programmeur du fournisseur UI Automation. Si vous avez besoin de communiquer avec ou de récupérer des informations sur les éléments d’interface utilisateur, consultez Le Guide du programmeur du client UI Automation.

Fichiers d’en-tête UI Automation

L’API UI Automation est définie dans plusieurs fichiers d’en-tête C/C++ différents inclus dans le Kit de développement logiciel (SDK) Windows. Les fichiers d’en-tête UI Automation sont décrits dans le tableau suivant :

Fichier d’en-tête Description
UIAutomationClient.h Définit les interfaces et les éléments de programmation associés utilisés par les clients UI Automation.
UIAutomationCore.h Définit les interfaces et les éléments de programmation associés utilisés par les fournisseurs UI Automation.
UIAutomationCoreApi.h Définit les constantes générales, les GUID, les types de données et les structures utilisés par les clients et fournisseurs UI Automation. Il contient également des définitions pour les fonctions de nœud et de modèle de contrôle dépréciées.
UIAutomation.h Inclut tous les autres fichiers d’en-tête UI Automation. Étant donné que la plupart des applications UI Automation nécessitent des éléments de tous les fichiers d’en-tête UI Automation, il est préférable d’inclure UIAutomation.h dans vos projets d’application UI Automation au lieu d’inclure chaque fichier individuellement.

Si vous développez une application qui utilise l’API UI Automation, vous devez inclure UIAutomation.h dans votre projet. Si votre application prend en charge Microsoft Active Accessibility, incluez le fichier d’en-tête Oleacc.h. Les applications UI Automation qui utilisent des GUID nécessitent également le fichier d’en-tête Initguid.h. Si nécessaire, Initguid.h doit être inclus avant UIAutomation.h.

Modèle UI Automation

UI Automation expose chaque élément de l’interface utilisateur aux applications clientes sous la forme d’un objet représenté par l’interface IUIAutomationElement . 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 sous la forme d’une vue de contrôle ou d’une vue de contenu. Ces vues standard de la structure sont facilement visibles à l’aide de l’application Inspect incluse dans le KIT de développement logiciel (SDK) Windows. Les applications peuvent également créer des vues personnalisées.

Un élément UI Automation expose les propriétés du contrôle ou de l’élément d’interface utilisateur qu’il représente. L’une de ces propriétés est le type de contrôle, qui définit l’apparence et les fonctionnalités de base de l’élément contrôle ou de l’interface utilisateur en tant qu’entité reconnaissable unique, par exemple, un bouton ou case activée zone. Pour plus d’informations sur les types de contrôle, consultez Vue d’ensemble des types de contrôle UI Automation.

En outre, un élément UI Automation expose un ou plusieurs modèles de contrôle. Un modèle de contrôle fournit un ensemble de propriétés spécifiques à un type de contrôle particulier. Un modèle de contrôle expose également des méthodes qui permettent aux applications clientes d’obtenir plus d’informations sur l’élément et de fournir une entrée à l’élément. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.

Notes

Il n’existe aucune correspondance un-à-un entre les types de contrôles 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, dont chacun expose 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. Toutefois, un contrôle ne peut présenter qu’un seul type de contrôle.

UI Automation fournit des informations aux applications clientes par le biais d’événements. Contrairement à WinEvents, les événements d’Automation de l’interface utilisateur ne sont pas basés sur un mécanisme de diffusion. Les clients UI Automation s’inscrivent à des notifications d’événements spécifiques et peuvent demander que des propriétés et des informations de modèle de contrôle spécifiques 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. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

Conceptuel

Vue d'ensemble des types de contrôle UI Automation

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

Vue d'ensemble des événements UI Automation