J'écris un programme pour automatiser le formulaire win32. J'utilise la bibliothèque Microsoft UI Automation. Je ne sais pas comment je peux obtenir et invoquer des raccourcis prédéfinis sur cette forme. Maintenant, je reçois simplement AutomationElement du MenuItem et invoque cliquez sur cet élément. Des solutions? Est-ce que quelqu'un le fait?Comment faire pour appeler des raccourcis clavier dans l'interface utilisateur?/.NET
Répondre
Pour autant que je sais AutomationElementInformation a un AcceleratorKey et AccessKey propriétés.
Des extractions de MSDN:
AutomationElement :: :: AutomationElementInformation AcceleratorKey
La séquence de combinaisons de touches qui font appel à une action associée à l'élément.
et:
AutomationElement :: :: AutomationElementInformation AccessKey
Le caractère, associé à un élément, qui est utilisé pour activer cet élément.
Et après, vous pouvez utiliser SendKeys pour simuler des pressions sur les touches.
Une autre façon est d'utiliser keybd___event mais, AFAIK, il était déconseillé et Microsoft conseille d'utiliser SendInput à la place. Peut être cela vous aidera.
Vous devez activer la fenêtre principale et appeler SendKeys :: Send pour envoyer les clés à la fenêtre active. C'est une méthode statique dans la classe SendKeys, donc, envoyez les clés à la fenêtre pas besoin de l'AutomationElement de la fenêtre principale.
- 1. Raccourcis clavier dans un XBAP
- 2. Raccourcis clavier dans la barre d'outils
- 3. Raccourcis clavier Eclipse dans Mac OSX
- 4. Comment gérer les raccourcis clavier contradictoires
- 5. Création de raccourcis clavier «globaux» dans WPF
- 6. ICSharpEditor et raccourcis clavier accidentels
- 7. Raccourcis clavier multiples pour l'action dans Qt Designer
- 8. Comment désactiver les raccourcis clavier dans Dojo StackContainer
- 9. créer des raccourcis clavier et des macros système large vista
- 10. VMware Workstation remplace les raccourcis clavier VS2008
- 11. Impossible d'enregistrer plusieurs raccourcis-clavier globaux
- 12. L'utilisation de shadowbox désactive les raccourcis clavier?
- 13. raccourcis clavier rompus pour un programme Xwindows distant
- 14. Comportement étrange avec les raccourcis clavier dans VC++
- 15. Est-il possible de modifier les raccourcis clavier dans eclipse?
- 16. Simulation de raccourcis clavier dans l'événement textbox_keydown à gérer?
- 17. Comment réaffecter des raccourcis Windows en C#?
- 18. Implémentation de raccourcis clavier dans l'application Windows .NET2.0
- 19. Ajout de raccourcis clavier à une application flexible
- 20. Eclipse: Comment créer et charger des schémas de raccourcis clavier personnalisés?
- 21. Configuration des raccourcis clavier pour accéder aux champs de saisie les plus proches
- 22. Comment faire pour appeler une requête nommée dans Grails
- 23. Extension et création de modèles de code dans Eclipse lors de l'utilisation des raccourcis clavier emacs
- 24. Quel est le moyen le plus simple d'ajouter des raccourcis clavier globaux dans Windows?
- 25. Liste des raccourcis clavier de facto standard pour les applications Windows?
- 26. Y at-il des raccourcis clavier pour accéder au menu du bureau dans Gnome ou comment puis-je les créer?
- 27. Eclipse sur Mac ... en utilisant les raccourcis clavier de Windows?
- 28. Comment appeler BindingNavigator1. Bouton Ajouter/ou raccourci clavier
- 29. Est-il possible de sélectionner un onglet spécifique dans OSX Terminal.app à l'aide des raccourcis clavier?
- 30. Suivant/Précédent (CTRL ->/<- CTRL) raccourcis clavier dans javascript dans ASP.NET
Merci à propos de AcceleratorKey et AccessKey. C'était utile. Mais je ne peux pas utiliser SendKeys, car l'utilisation de UI Automation Library est une autre approche lorsque vous travaillez avec Win32 Form. J'ai AutomationElemnt et peut obtenir ses modèles d'interagir avec les propriétés de type de contrôle. Dans mon cas, j'ai MainWindow AutomationElement et il a deux modèles disponibles: WindowPattern et TransformPattern. Et en utilisant ce modèle, il n'y a aucun moyen d'émuler SendKeys. Donc, je ne comprends toujours pas comment je peux utiliser les raccourcis clavier. – Loki
Pouvez-vous utiliser * SendInput *? –