Je parle des programmes GUI Windows. Supposons qu'une fenêtre de programme possède une boîte de dialogue (ou un bouton de confirmation) demandant une entrée de l'utilisateur. Comment puis-je fournir des entrées à ce programme en utilisant mon programme (écrit en C#, Java ou Python, par exemple). Ou disons, une fenêtre de programme montre une image dans l'un de ses panneaux. Comment puis-je saisir cela d'un autre programme (mon)? C'est une sorte d'imitation (ou de messagerie inter-win-programme?). Quelqu'un m'a dit que cela peut être fait en utilisant spy ++. Mais comment? Peux-tu expliquer? Quel code écrire? Que faire avec l'espion ++?Comment obtenir/définir des données de (dans) des composants visuels (de programmes Windows) par programme?
Répondre
spy ++ écoute tous les messages win32. C'est très utile pour déboguer une application mais je ne pense pas que ce soit une bonne idée de l'utiliser comme un mécanisme de communication inter-processus.
Vous pouvez utiliser win32 apis pour envoyer des données à votre programme. Par exemple, vous pouvez modifier le contenu d'un texte d'édition à l'aide de la fonction SetWindowText.
Vous devez obtenir le handle de la fenêtre. Vous pouvez utiliser le FindWindow et le GetDlgItem pour l'obtenir.
Cela fonctionnera pour C++ et python grâce à win32 python extension. Je ne sais pas s'il est possible d'utiliser win32 api depuis java.
Pour générer par programmation des raccourcis clavier, voir Key Presses in Python, et recherchez "générer", "clé", "émuler", "faux".
Pour capturer l'écran par programmation, voir Capture screenshot of active window? et rechercher des termes tels que «capture», «fenêtre», «écran».
Si vous voulez écrire du code win32 pour le faire, commencez ici:
http://msdn.microsoft.com/en-us/library/ms632589(VS.85).aspx
Si vous voulez juste accrocher le IUG aussi facilement que possible, enquêter sur:
- 1. Delphi: Supprimer les références de composants visuels des formulaires hérités
- 2. Obtenir par programme des statistiques réseau par processus sur Windows?
- 3. trouver des données reçues dans le programme de socket
- 4. Comment obtenir par programme des dépendances DLL
- 5. Comment réorganiser par programme des mappages de gestionnaire dans IIS7?
- 6. Double commande pour exécuter des programmes dans l'invite de commande
- 7. Comment créer des programmes d'installation avec Maven
- 8. Liaison de données par programme
- 9. Delphi: Comment ajuster par programme l'ordre visuel des composants avec align = alTop
- 10. Comment déplacer par programme des fichiers dans un répertoire WebDAV
- 11. créer des programmes comme iSeries
- 12. Comment empêcher l'apparition de "l'Assistant de compatibilité de programme" dans Vista (et Windows 7) par programme?
- 13. Comment publier des programmes d'installation parallèles à l'aide de ClickOnce?
- 14. Signature par programme des applications Windows Mobile natives
- 15. Comment est l'interface graphique et le flux de programmes de jeu par rapport aux programmes Web
- 16. Comment faire des programmes comme nano/pico dans linux
- 17. Comment arrêter un service Windows par programme?
- 18. comment envoyer des sms par programme?
- 19. Documentation des composants CakePHP
- 20. Comment exécuter des configurations de lancement Eclipse par programme?
- 21. Comment puis-je restreindre l'affichage des composants WebPart dans la fenêtre Ajouter des composants WebPart?
- 22. Comment obtenir l'historique complet des dossiers de TFS par programme?
- 23. Envoyer des commandes à d'autres programmes de ligne de commande
- 24. Vérification par programme des e-mails Outlook
- 25. L'installation par programme de la police dans Windows
- 26. Exportation de données SQL Server avec des composants redistribués
- 27. Comment créer des composants GUI personnalisés?
- 28. Gestion des composants réutilisables
- 29. Transmettre des données aux composants utilisateur dans asp.net