TrackFocus, exemple
Mise à jour : novembre 2007
Cet exemple suit le focus d'entrée sur le bureau et affiche des informations sur les modifications du focus, à l'aide d'Microsoft UI Automation. Il s'agit d'une application console simple qui peut être utilisée comme point de départ pour une application utilisant UI Automation pour effectuer le suivi des événements sur le bureau.
Le programme indique lorsque le focus d'entrée est modifié. Si le focus passe à une fenêtre d'application différente, la légende de la fenêtre est indiquée. Si le focus se déplace dans une fenêtre d'application, le type et le nom du contrôle lu sont indiqués.
Pour savoir quand le focus passe d'une application à une autre, le programme conserve une liste des identificateurs d'exécution de toutes les fenêtres de niveau supérieur ouvertes. En réponse à chaque événement dont le focus a changé, un TreeWalker est utilisé pour rechercher la fenêtre parente, et celle-ci est comparée avec la dernière fenêtre ayant possédé le focus.
Le programme s'abonne à trois types d'événements :
Structure modifiée. Le seul événement intéressant est l'ajout d'une nouvelle fenêtre de niveau supérieur.
Focus modifié. Tous les événements sont capturés.
Fenêtre fermée. Lorsqu'une fenêtre de niveau supérieur est fermée, son ID d'exécution est supprimé de la liste.
Par simplicité, aucune mise en cache n'est réalisée. Une application grandeur nature mettrait probablement en cache tous les enfants immédiats d'une fenêtre d'application dès que cette fenêtre recevrait le focus.
Cet exemple présente une fonctionnalité spécifique de Windows Presentation Foundation (WPF) et, par conséquent, ne suit pas les meilleures pratiques de développement d'applications. Pour un traitement complet des meilleures pratiques de développement d'applications Windows Presentation Foundation (WPF) et Microsoft .NET Framework, reportez-vous, selon les cas, aux documents suivants :
Accessibilité - Meilleures pratiques d'accessibilité
Sécurité - Sécurité de Windows Presentation Foundation
Localisation - Vue d'ensemble de la globalisation et de la localisation WPF
Génération de l'exemple
Installez le Kit de développement logiciel (SDK) Windows et ouvrez la fenêtre Commande de son environnement de génération. Dans le menu Démarrer, pointez sur Tous les programmes et sur Microsoft Windows SDK, puis cliquez sur CMD Shell.
Téléchargez l'exemple, généralement à partir de la documentation du Kit de développement logiciel (SDK), vers votre disque dur local.
Pour générer l'exemple à partir de la fenêtre Commande de l'environnement de génération, accédez au répertoire source de l'exemple. À l'invite de commandes, tapez MSBUILD.
Pour générer l'exemple dans Microsoft Visual Studio, chargez l'exemple de solution ou de fichier projet, puis appuyez sur CTRL+MAJ+B.
Exécution de l'exemple
Pour exécuter l'exemple compilé à partir de la fenêtre Commande de l'environnement de génération, exécutez le fichier .exe du dossier Bin\Debug ou Bin\Release contenu sous le dossier du code source de l'exemple.
Pour exécuter l'exemple compilé avec le débogage dans Visual Studio, appuyez sur F5.