Vue d'ensemble des fournisseurs UI Automation
Remarque |
---|
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). |
Les fournisseurs UI Automation permettent aux contrôles de communiquer avec des applications du client UI Automation. En général, chaque contrôle ou autre élément distinct d'une user interface (UI) est représenté par un fournisseur. Le fournisseur expose des informations sur l'élément et peut implémenter des modèles de contrôle pour permettre à l'application cliente d'interagir avec le contrôle.
Habituellement, les applications clientes n'ont pas à travailler directement avec des fournisseurs. La plupart des contrôles standard dans les applications qui utilisent les infrastructures Win32, Windows Forms ou Windows Presentation Foundation (WPF) sont automatiquement exposés au système UI Automation. Les applications qui implémentent des contrôles personnalisés peuvent également implémenter des fournisseurs d'UI Automation pour ces contrôles et les applications clientes n'ont pas à utiliser de procédures spéciales pour y accéder.
Cette rubrique fournit une vue d'ensemble de la manière dont les développeurs de contrôles implémentent des fournisseurs d'UI Automation, en particulier pour les contrôles des fenêtres Windows Forms et Win32.
Cette rubrique comprend les sections suivantes.
- Types de fournisseurs
- Concepts de fournisseurs UI Automation
- Rubriques connexes
Types de fournisseurs
Les fournisseurs UI Automation sont divisés en deux catégories : les fournisseurs côté client et les fournisseurs côté serveur.
Fournisseurs côté client
Les fournisseurs côté client sont implémentés par les clients UI Automation pour communiquer avec une application qui ne prend pas en charge UI Automation ou seulement partiellement. Habituellement, les fournisseurs côté client communiquent avec le serveur sur la limite de processus en envoyant et en recevant des messages Windows.
Comme les fournisseurs UI Automation pour les contrôles des applications Win32, Windows Forms ou WPF sont fournis en tant qu'éléments du système d'exploitation, les applications clientes ont rarement besoin d'implémenter leurs propres fournisseurs, raison pour laquelle cette vue d'ensemble n'approfondit pas le sujet.
Fournisseurs côté serveur
Les fournisseurs côté serveur sont implémentés par les contrôles personnalisés ou par les applications basées sur une infrastructure d'interface utilisateur autre que Win32, Windows Forms ou WPF.
Les fournisseurs côté serveur communiquent avec les applications clientes sur la limite de processus en exposant des interfaces au système de base UI Automation qui, à son tour, prend en charge les demandes des clients.
Concepts de fournisseurs UI Automation
Cette section fournit de brèves explications sur les concepts clés que vous devez comprendre afin d'implémenter des fournisseurs UI Automation.
Éléments
Les éléments UI Automation sont des éléments de l'user interface (UI) visibles par les clients UI Automation. Les exemples incluent des fenêtres d'application, des volets, des boutons, des info-bulles, des zones de liste et des éléments de liste.
Navigation
Les éléments UI Automation sont exposés aux clients sous la forme d'une arborescence UI Automation. UI Automation construit l'arborescence en naviguant d'un élément à l'autre. La navigation est activée par les fournisseurs pour chaque élément, chacun pouvant pointer vers un parent, des frères ou des enfants.
Pour plus d'informations sur l'affichage client de l'arborescence UI Automation, consultez Vue d'ensemble de l'arborescence UI Automation.
Vues
Un client peut consulter l'arborescence UI Automation dans trois affichages principaux, comme indiqué dans le tableau suivant.
Affichage brut |
Contient tous les éléments. |
Affichage de contrôle |
Contient des éléments considérés comme des contrôles. |
Affichage du contenu |
Contient des éléments disposant d'un contenu. |
Pour plus d'informations sur les affichages clients de l'arborescence UI Automation, consultez Vue d'ensemble de l'arborescence UI Automation.
Il revient à l'implémentation de fournisseur de définir un élément comme élément de contenu ou élément de contrôle. Les éléments de contrôle peuvent ou non être également des éléments de contenu, mais tous les éléments de contenu sont des éléments de contrôle.
Infrastructures
Une infrastructure est un composant qui gère des contrôles enfants, le test de recherche et le rendu dans une zone de l'écran. Par exemple, une fenêtre Win32, souvent connue sous le nom HWND, peut servir d'infrastructure contenant plusieurs éléments UI Automation tels qu'une barre de menus, une barre d'état et des boutons.
Les contrôles conteneur Win32, tels que les zones de liste et les arborescences, sont considérés comme des infrastructures, car ils contiennent leur propre code pour restituer des éléments enfants et effectuer des tests de recherche sur ces derniers. En revanche, une zone de liste WPF n'est pas une infrastructure, car le rendu et le test de recherche sont gérés par la fenêtre WPF contenante.
L'UI d'une application peut être composée de différentes infrastructures. Par exemple, une fenêtre d'application HWND peut contenir du Dynamic HTML (DHTML), qui contient lui aussi un composant tel qu'une zone de liste déroulante dans un HWND.
Fragments
Un fragment est un sous-arbre d'éléments complet qui fait partie d'une infrastructure particulière. L'élément situé au nœud racine du sous-arbre est appelé racine de fragment. Une racine de fragment n'a pas de parent, mais elle est hébergée dans d'autres infrastructures, habituellement une fenêtre Win32 (HWND).
Hôtes
Le nœud racine de chaque fragment doit être hébergé dans un élément, habituellement une fenêtre Win32 (HWND). Exception faite du bureau, qui n'est hébergé dans aucun autre élément. L'hôte d'un contrôle personnalisé est le HWND du contrôle lui-même, et non la fenêtre d'application ou toute autre fenêtre qui pourrait contenir des groupes de contrôles de niveau supérieur.
L'hôte d'un fragment joue un rôle important dans l'offre de services UI Automation. Il active la navigation vers la racine du fragment et fournit des propriétés par défaut afin que le fournisseur personnalisé n'ait pas à les implémenter.