[R] Ecrire dans une fenêtre windows qui n'a pas le focus

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sebnantes
Status : Hors ligne

[R] Ecrire dans une fenêtre windows qui n'a pas le focus

#1

Message par sebnantes »

Bonjour la compagnie ! J'ai besoin d'aide !
J'ai un programme qui affiche de temps en temps un popup.
Mon programme attend une saisie texte et une validation dans ce popup pour le fermer.
J'aimerai automatiser la saisie d'un texte dans ce popup et valider quand il apparait.
J'ai don fait :

Code : Tout sélectionner

while (1)
WinWait("popup")
Send("bonjour{ENTER}")
Wend
 
ca marche, seul problème ce popup est parfois masqué par d'autre fenêtre qui s'ouvre.
Est-il possible d'écrire dans ce popup même s'il se retrouve en attente en arrière plan ?
En évitant de lui donner le focus si possible.

Merci beaucoup.

Ps : ou retrouver ces message sauvegardés mais non envoyé ?
Modifié en dernier par sebnantes le jeu. 08 mai 2008 22:07, modifié 2 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: écrire dans une fenetre windows qui n'a pas le focus

#2

Message par Tlem »

http://autoitscript.fr/forum/viewtopic.php?f=3&t=595
Merci.

Utilisez WinExists pour détecter la présence de la fenêtre.
Mettez là en premier plan, puis envoyez vos commandes.

Sinon utilisez la commande ControlSend (Plusieurs post sur le sujet ont déjà été traités.
sebnantes a écrit :Ps : ou retrouver ces message sauvegardés mais non envoyé ?
Que voulez-vous dire ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sebnantes
Status : Hors ligne

[R] écrire dans une fenêtre windows qui n'a pas le focus

#3

Message par sebnantes »

Merci pour la réponse et c'est noté pour [..] et [R]

Ne souhaitant pas donner le focus à mon popup, je vais essayé ControlSend.
J'ai trouvé d'autre post à ce sujet et l'aide de la doc AutoIt

Sur mon popup, je peux voir qu'il s'agit aussi de Edit1 grâce à Au3Info.exe, donc :

Code : Tout sélectionner

ControlSend("popup", "", "Edit1", "Bonjour")


j'ai testé avec controlsend : parfait !
même quand mon popup se retrouve en arrière plan, BONJOUR est saisie dedans !

Encore merci et très bonne soirée.

Ps : Pour l'histoire du message sauvegardé, lorsqu'on écrit un message, il y a un bouton Aperçu, Envoyer, Sauvegarder et Annuler. Je pensais que sauvegardé signifiait Brouillon pour reprendre l'écriture plus tard.
Modifié en dernier par sebnantes le jeu. 08 mai 2008 22:06, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] écrire dans une fenêtre windows qui n'a pas le focus

#4

Message par Tlem »

sebnantes a écrit :Ps : Pour l'histoire du message sauvegardé, lorsqu'on écrit un message, il y a un bouton Aperçu, Envoyer, Sauvegarder et Annuler. Je pensais que sauvegardé signifiait Brouillon pour reprendre l'écriture plus tard.
C'est tout à fait ça, et lorsque vous faites cela le brouillon se trouve dans le panneau de l'utilisateur.
Vous n'avez qu'à le compléter puis le valiser.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre