[R] Revenir à la dernière fenetre active

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
erkyl
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 28 avr. 2009 14:26
Status : Hors ligne

[R] Revenir à la dernière fenetre active

#1

Message par erkyl »

Bonjour à tous.

Voilà je vous explique ce que je veux faire, c'est très simple. Ce que je veux c'est activer une fenètre, faire un clik dessus, revenir à la fenètre sur laquelle j'étais précédement, attendre 1 minute et recommencer tant que je n'appuie pas sur escape.

Activer une fenètre, cliquer, ça va, je l'ai fait avec Au3Recorder. Faire une boucle qui relance le processus toutes les minutes, je pense qu'elle est bonne.

Mon souci, c'est pour revenir à la fenetre précédente. Je pensais tout simplement faire un Alt + Tab, mais bon, ça ne marche pas... Voilà ce que j'ai fait:

Code : Tout sélectionner

Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
HotKeySet("{ESC}", "_exit")

Func _exit()
    Exit
EndFunc   ;==>_exit

while 1 ;boucle perpétuelle
    
    ;activer le fenetre
    WinWait("google - Mozilla Firefox","")
    If Not WinActive("google - Mozilla Firefox","") Then WinActivate("google - Mozilla Firefox","")
    WinWaitActive("google - Mozilla Firefox","")
    
    ;cliquer
    MouseMove(324,452)
    MouseDown("left")
    MouseUp("left")

    ;revenir à fenetre précédente
    Send("^+{TAB}")

    ;attendre une minute
    sleep(60000)

WEnd
Savez vous pourquoi mon Send("^+{TAB}") ne marche pas?

Merci d'avance!
Modifié en dernier par erkyl le mar. 28 avr. 2009 15:44, modifié 2 fois.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] Revenir à la dernière fenetre active

#2

Message par GaRydelaMer »

Bonjour

plutôt que de vouloir faire un Alt+Tab, sauvegarde dans une variable la fenêtre active avant le while par exemple et tu restaure cette fenêtre après ton traitement.

$oldWindows = WinGetTitle("[ACTIVE]", "") ; enregistre la fenêtre active

WinSetState($oldWindows ,"" , @SW_SHOW) ; pour la restaurer

PS: tu peux aussi enregistrer la fenêtre courante dans le while avant le traitement si des fois l'utilisateur du PC à changer de fenêtre durant la pseudo pause de 1 minute.
erkyl
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 28 avr. 2009 14:26
Status : Hors ligne

Re: [..] Revenir à la dernière fenetre active

#3

Message par erkyl »

Génial, merci, une idée de pourquoi ça ne marchait pas avec ma méthode?
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [RE] Revenir à la dernière fenetre active

#4

Message par GaRydelaMer »

non aucune idée je manipule pas de fenêtre dans mes projet.

La syntaxe du alt+tab certainement car c'est très certainement possible mais d'autres pourront surement répondre.

Mais comme tu vois à 1 pb plusieurs solutions ;)
Répondre