Récupération des propriétés à partir d’éléments UI Automation

Les propriétés des objets IUIAutomationElement contiennent des informations sur les éléments d’interface utilisateur, généralement des contrôles. Les propriétés d’un élément sont génériques ; c’est-à-dire qu’il n’est pas spécifique à un type de contrôle. Les propriétés propres aux contrôles d’un élément sont exposées par ses interfaces de modèle de contrôle.

Les propriétés microsoft UI Automation sont en lecture seule. Pour définir les propriétés d’un contrôle, vous devez utiliser les méthodes du modèle de contrôle approprié. Par exemple, utilisez IUIAutomationScrollPattern::Scroll pour modifier les valeurs de position d’une fenêtre de défilement.

Pour améliorer les performances, les valeurs de propriété des contrôles et des modèles de contrôle peuvent être mises en cache lorsque des éléments sont récupérés. Pour plus d’informations, consultez Mise en cache UI Automation Propriétés et modèles de contrôle.

Cette rubrique contient les sections suivantes.

ID de propriété

Les identificateurs de propriété sont définis dans Uiautomationclient.h. Ils sont utilisés pour spécifier des propriétés lorsque vous vous abonnez à des événements modifiés, récupérez des valeurs de propriété et construisez des conditions de propriété. Les identificateurs de propriété identifient également la propriété qui a été modifiée lorsque IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent est appelé.

Pour obtenir la liste des identificateurs de propriétés UI Automation, consultez Identificateurs de propriétés.

Conditions de propriété

Les ID de propriété sont utilisés pour construire des objets IUIAutomationPropertyCondition utilisés pour rechercher UI Automation éléments. Par exemple, vous pouvez rechercher un élément qui a un certain nom ou tous les contrôles activés. Chaque condition de propriété spécifie un identificateur de propriété et la valeur que la propriété doit correspondre.

Pour plus d’informations, consultez les rubriques de référence suivantes :

Récupération de propriétés

Certaines propriétés génériques, et toutes les propriétés de modèle de contrôle, sont disponibles en tant que propriétés sur l’interface IUIAutomationElement ou de modèle de contrôle et peuvent être récupérées à l’aide d’un accesseur, tel que IUIAutomationElement::CurrentName ou CachedDockPosition.

En outre, toute propriété actuelle ou mise en cache (autre que les propriétés de modèle de contrôle) peut être récupérée à l’aide de l’une des méthodes suivantes :

Ces méthodes offrent des performances légèrement meilleures et un accès à la gamme complète de propriétés. Toutefois, les valeurs sont retournées dans les structures VARIANT , tandis que les accesseurs de propriété individuels castent la valeur au type approprié.

Valeurs de propriété par défaut

Si un fournisseur de UI Automation n’implémente pas de propriété, UI Automation peut fournir une valeur par défaut. Par exemple, si le fournisseur d’un contrôle ne prend pas en charge la propriété identifiée par UIA_HelpTextPropertyId, UI Automation retourne une chaîne vide. De même, si le fournisseur ne prend pas en charge la propriété identifiée par UIA_IsDockPatternAvailablePropertyId, UI Automation retourne FALSE.

La différence entre IUIAutomationElement::GetCurrentPropertyValue et GetCurrentPropertyValueEx (et entre des paires de méthodes similaires) est que la méthode « Ex » peut spécifier qu’aucune valeur par défaut ne doit être retournée. Dans ce cas, la valeur de retour est une constante unique spéciale, indiquant que la propriété n’est pas prise en charge. Lors de la réception de cette valeur, l’application peut fournir sa propre valeur ou simplement ignorer la propriété.

Conceptuel

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

Identificateurs de propriété