Vue d'ensemble d'UI AutomationUI Automation Overview

Notes

Cette documentation s'adresse aux développeurs .NET Framework qui souhaitent utiliser les classes Automation de l'interface utilisateurUI Automation managées définies dans l'espace de noms System.Windows.Automation.This documentation is intended for .NET Framework developers who want to use the managed Automation de l'interface utilisateurUI Automation classes defined in the System.Windows.Automation namespace. Pour plus d’informations sur Automation de l'interface utilisateurUI Automation, consultez Windows Automation API : UI Automation.For the latest information about Automation de l'interface utilisateurUI Automation, see Windows Automation API: UI Automation.

Microsoft UI AutomationMicrosoft UI Automation est la nouvelle infrastructure d’accessibilité pour Microsoft WindowsMicrosoft Windows, disponible sur tous les systèmes d’exploitation qui prennent en charge Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF).is the new accessibility framework for Microsoft WindowsMicrosoft Windows, available on all operating systems that support Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF).

Automation de l'interface utilisateurUI Automation fournit un accès par programmation à la plupart des éléments d’ interface utilisateur (UI)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’ Interface utilisateurUI et de manipuler l’ Interface utilisateurUI par d’autres moyens que l’entrée standard.provides programmatic access to most interface utilisateur (UI)user interface (UI) elements on the desktop, enabling assistive technology products such as screen readers to provide information about the Interface utilisateurUI to end users and to manipulate the Interface utilisateurUI by means other than standard input. Automation de l'interface utilisateurUI Automation permet également aux scripts de test automatisés d’interagir avec l’ Interface utilisateurUI.also allows automated test scripts to interact with the Interface utilisateurUI.

Notes

Automation de l'interface utilisateurUI Automation n’active pas la communication entre les processus démarrés par différents utilisateurs via la commande Exécuter en tant que .does not enable communication between processes started by different users through the Run as command.

Les applications clientes UI Automation peuvent être écrites avec l’assurance qu’elles fonctionneront sur plusieurs infrastructures.UI Automation client applications can be written with the assurance that they will work on multiple frameworks. Le noyau Automation de l'interface utilisateurUI Automation masque toute les différences des infrastructures sous-jacentes à plusieurs parties de l’ Interface utilisateurUI.The Automation de l'interface utilisateurUI Automation core masks any differences in the frameworks that underlie various pieces of Interface utilisateurUI. Par exemple, la propriété Content d’un bouton WPFWPF , la propriété Caption d’un bouton Win32Win32 et la propriété ALT d’une image HTML sont toutes mappées à une seule propriété, Name, dans la vue Automation de l'interface utilisateurUI Automation .For example, the Content property of a WPFWPF button, the Caption property of a Win32Win32 button, and the ALT property of an HTML image are all mapped to a single property, Name, in the Automation de l'interface utilisateurUI Automation view.

Automation de l'interface utilisateurUI Automation fournit des fonctionnalités complètes dans Windows VistaWindows Vista, Microsoft Windows XPMicrosoft Windows XPet Windows Server 2003Windows Server 2003.provides full functionality in Windows VistaWindows Vista, Microsoft Windows XPMicrosoft Windows XP, and Windows Server 2003Windows Server 2003.

Les fournisseurs UI Automation offrent une prise en charge pour les applications clientes Microsoft Active AccessibilityMicrosoft Active Accessibility via un service de liaison intégré.UI Automation providers offer some support for Microsoft Active AccessibilityMicrosoft Active Accessibility client applications, through a built-in bridging service.

Fournisseurs et clientsProviders and Clients

Automation de l'interface utilisateurUI Automation possède quatre composants principaux, répertoriés dans le tableau suivant.has four main components, as shown in the following table.

ComposantComponent DescriptionDescription
APIAPI du fournisseur (UIAutomationProvider.dll et UIAutomationTypes.dll)Provider APIAPI (UIAutomationProvider.dll and UIAutomationTypes.dll) Ensemble de définitions d’interface qui sont implémentées par des fournisseurs UI Automation, objets qui fournissent des informations sur les éléments d’ Interface utilisateurUI et qui répondent à l’entrée de programmation.A set of interface definitions that are implemented by UI Automation providers, objects that provide information about Interface utilisateurUI elements and respond to programmatic input.
API client (UIAutomationClient.dll et UIAutomationTypes.dll)Client API (UIAutomationClient.dll and UIAutomationTypes.dll) Ensemble de types destinés au code managé qui permet aux applications clientes UI Automation d’obtenir des informations sur l’ Interface utilisateurUI et d’envoyer l’entrée aux contrôles.A set of types for managed code that enables UI Automation client applications to obtain information about the Interface utilisateurUI and to send input to controls.
UiAutomationCore.dllUiAutomationCore.dll Code sous-jacent (parfois appelé noyau Automation de l'interface utilisateurUI Automation ) qui gère la communication entre fournisseurs et clients.The underlying code (sometimes called the Automation de l'interface utilisateurUI Automation core) that handles communication between providers and clients.
UIAutomationClientsideProviders.dllUIAutomationClientsideProviders.dll Ensemble de fournisseurs UI Automation pour les contrôles hérités standard.A set of UI Automation providers for standard legacy controls. (Les contrôles WPFWPF bénéficient d’une prise en charge native pour Automation de l'interface utilisateurUI Automation.) Cette prise en charge est automatiquement disponible aux applications clientes.(WPFWPF controls have native support for Automation de l'interface utilisateurUI Automation.) This support is automatically available to client applications.

Du point de vue des développeurs de logiciels, il existe deux façons d’utiliser Automation de l'interface utilisateurUI Automation: pour créer une prise en charge pour les contrôles personnalisés (à l’aide de l’API fournisseur) et pour créer des applications qui utilisent le noyau Automation de l'interface utilisateurUI Automation pour communiquer avec les éléments d’ Interface utilisateurUI (à l’aide de l’API client).From the software developer's perspective, there are two ways of using Automation de l'interface utilisateurUI Automation: to create support for custom controls (using the provider API), and creating applications that use the Automation de l'interface utilisateurUI Automation core to communicate with Interface utilisateurUI elements (using the client API). Selon votre objectif, reportez-vous à différentes parties de cette documentation.Depending on your focus, you should refer to different parts of the documentation. Les sections suivantes vous permettront d’approfondir les concepts et d’obtenir des connaissances pratiques.You can learn more about the concepts and gain practical how-to knowledge in the following sections.

SectionSection SujetSubject matter PublicAudience
Notions de base UI Automation (cette section)UI Automation Fundamentals (this section) Présentation générale des concepts.Broad overviews of the concepts. Tout le monde.All.
Fournisseurs UI Automation pour le code managéUI Automation Providers for Managed Code Présentations et rubriques « Comment » destinées à vous aider à utiliser l’API du fournisseur.Overviews and how-to topics to help you use the provider API. Développeurs de contrôles.Control developers.
Clients UI Automation pour le code managéUI Automation Clients for Managed Code Présentations et rubriques « Comment » destinées à vous aider à utiliser l’API client.Overviews and how-to topics to help you use the client API. Développeurs d’applications clientesClient application developers.
Modèles de contrôle UI AutomationUI Automation Control Patterns Informations sur la façon dont les fournisseurs doivent implémenter les modèles de contrôle et sur les fonctionnalités disponibles aux clients.Information about how control patterns should be implemented by providers, and what functionality is available to clients. Tout le monde.All.
Modèle de texte UI AutomationUI Automation Text Pattern Informations sur la façon dont les fournisseurs doivent implémenter le modèle de contrôle Text et sur les fonctionnalités disponibles aux clients.Information about how the Text control pattern should be implemented by providers, and what functionality is available to clients. Tout le monde.All.
UI Automation Control TypesUI Automation Control Types Informations sur les propriétés et les modèles de contrôle pris en charge par les différents types de contrôle.Information about the properties and control patterns supported by different control types. Tout le monde.All.

Le tableau suivant répertorie les espaces de noms Automation de l'interface utilisateurUI Automation , les DLL qui les contiennent et le public qui les utilise.The following table lists Automation de l'interface utilisateurUI Automation namespaces, the DLLs that contain them, and the audience that uses them.

Espace de nomsNamespace DLL référencéesReferenced DLLs PublicAudience
System.Windows.Automation UIAutomationClientUIAutomationTypesUIAutomationClientUIAutomationTypes Développeurs de clients UI Automation ; permettent de rechercher des objets AutomationElement , de s’inscrire pour des événements Automation de l'interface utilisateurUI Automation et d’utiliser des modèles de contrôle Automation de l'interface utilisateurUI Automation .UI Automation client developers; used to find AutomationElement objects, register for Automation de l'interface utilisateurUI Automation events, and work with Automation de l'interface utilisateurUI Automation control patterns.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypesUIAutomationProviderUIAutomationTypes Développeurs de fournisseurs UI Automation pour des infrastructures autres que WPFWPF.Developers of UI Automation providers for frameworks other than WPFWPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypesUIAutomationClientUIAutomationTypes Développeurs de fournisseurs UI Automation pour des infrastructures autres que WPFWPF; permettent d’implémenter le modèle de contrôle TextPattern.Developers of UI Automation providers for frameworks other than WPFWPF; used to implement the TextPattern control pattern.
System.Windows.Automation.Peers PresentationFrameworkPresentationFramework Développeurs de fournisseurs UI Automation pour WPFWPF.Developers of UI Automation providers for WPFWPF.

Modèle UI AutomationUI Automation Model

Automation de l'interface utilisateurUI Automation expose chaque partie de l’ Interface utilisateurUI aux applications clientes en tant qu’élément AutomationElement.exposes every piece of the Interface utilisateurUI to client applications as an AutomationElement. Les éléments sont contenus dans une arborescence, avec le bureau comme élément racine.Elements are contained in a tree structure, with the desktop as the root element. 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.Clients can filter the raw view of the tree as a control view or a content view. Les applications peuvent également créer des vues personnalisées.Applications can also create custom views.

Les objetsAutomationElement exposent les propriétés communes des éléments d’ Interface utilisateurUI qu’ils représentent.AutomationElement objects expose common properties of the Interface utilisateurUI elements they represent. 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.One of these properties is the control type, which defines its basic appearance and functionality as a single recognizable entity: for example, a button or check box.

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.In addition, elements expose control patterns that provide properties specific to their control types. 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.Control patterns also expose methods that enable clients to get further information about the element and to provide input.

Notes

Il n’existe pas de correspondance bijective entre les types de contrôle et les modèles de contrôle.There is not a one-to-one correspondence between control types and control patterns. 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.A control pattern may be supported by multiple control types, and a control may support multiple control patterns, each of which exposes different aspects of its behavior. 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.For example, a combo box has at least two control patterns: one that represents its ability to expand and collapse, and another that represents the selection mechanism. Pour découvrir les caractéristiques spécifiques, consultez UI Automation Control Types.For specifics, see UI Automation Control Types.

Automation de l'interface utilisateurUI Automation fournit également des informations aux applications clientes via des événements.also provides information to client applications through events. Contrairement à WinEventsWinEvents, les événements Automation de l'interface utilisateurUI Automation ne reposent pas sur un mécanisme de diffusion.Unlike WinEventsWinEvents, Automation de l'interface utilisateurUI Automation events are not based on a broadcast mechanism. Les clientsAutomation de l'interface utilisateurUI Automation s’inscrivent pour des notifications d’événements spécifiques et peuvent demander que des propriétés Automation de l'interface utilisateurUI Automation spécifiques et des informations de modèle de contrôle soient passées à leurs gestionnaires d’événements.Automation de l'interface utilisateurUI Automation clients register for specific event notifications and can request that specific Automation de l'interface utilisateurUI Automation properties and control pattern information be passed into their event handlers. En outre, un événement Automation de l'interface utilisateurUI Automation contient une référence à l’élément qui l’a déclenché.In addition, a Automation de l'interface utilisateurUI Automation event contains a reference to the element that raised it. 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.Providers can improve performance by raising events selectively, depending on whether any clients are listening.

Voir aussiSee also