8 votes

Quelle est la différence entre UISpy.exe et Inspect.exe ? (Extrait de Microsoft Windows SDK)

J'aimerais vraiment savoir comment Inspect.exe obtient ses éléments d'interface utilisateur, car il obtient beaucoup plus d'éléments que UISpy (tous deux disponibles dans le SDK 7 de Microsoft Windows).

1) Je pense que UISpy obtient ses éléments avec la bibliothèque UIAutomation, non ? (J'ai essayé avec UIAutomation et j'ai obtenu exactement les mêmes éléments que ceux affichés par UISpy).

2) Quelle bibliothèque Inspect.exe utilise-t-il ? Parce qu'il montre certains éléments de l'interface utilisateur d'une application avec MacromediaFlashPlayerActiveX par exemple, que j'ai besoin d'intégrer dans ma propre application d'automatisation de l'interface utilisateur. J'espère que quelqu'un sait quelque chose à ce sujet.

EDIT : Inspect a aussi un mode "UI Automation", utilise-t-il aussi la bibliothèque UIAutomation ? Ce qui est étrange, c'est que dans Inspect, il y a beaucoup plus d'événements que dans UISpy.

Merci d'avance

15voto

Simon Mourier Points 49585

UISpy est un .NET qui utilise les ensembles UIAutomation de .NET. Ces assemblages ont été introduits avec .NET Framework 2.

Inspect est un indigène qui utilise UIAutomationCore.dll (disponible dans le répertoire System). UIAutomationCore est un indigène COM Windows DLL qui met en œuvre le Automatisation de l'interface utilisateur API Windows . Cette API a été mise à jour avec Windows, par exemple voici un lien vers les améliorations de Windows 8+ : Quoi de neuf dans l'automatisation de l'interface utilisateur ?

Les assemblages UIAutomation de .NET utilisent UIAutomationCore.dll en interne. Cependant, Microsoft ne les a jamais mis à niveau pour les nouvelles fonctionnalités de l'API d'automatisation d'interface utilisateur native. Un grand nombre de propriétés (par exemple toutes les propriétés ARIA qui sont très utiles), de modèles, d'événements, etc., sont donc manquants si vous utilisez l'UIAutomation originale de .NET.

Mais il y a encore de l'espoir dans le monde .NET, car il y a un projet ici : https://uiacomwrapper.codeplex.com/ qui est une nouvelle version compatible avec les sources de .NET UIAutomation (Elle a en fait été écrite par un gars de Microsoft, je ne comprends pas pourquoi ils ne la publient pas de manière plus officielle et ne mettent pas à jour .NET UIAutomation...). Il définit la plupart des nouvelles propriétés, patterns et interfaces de Windows 8.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X