2009-09-04 6 views
0

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

2

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.

1

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».

Questions connexes