Page 1 sur 1

[..] Connaitre la fenêtre active à tout moment.

Posté : sam. 07 août 2010 11:30
par Patate
Bonsoir à tous,

Je me permet de poster ce message car je viens de me lancer récemment dans l'autoit, et je suis entrain de coder un clavier virtuel. Cependant je bloque.

En effet je ne vois pas comment faire pour écrire systématiquement dans la zone de texte active. Si vous pouviez juste m'aiguiller :).

J'ai fais quelque recherche mais rien trouvé sur un clavier virtuel (ou j'ai mal cherché et je m'en excuse par avance).

Merci pour votre aide.

Re: [..] Connaitre la fenêtre active à tout moment.

Posté : sam. 07 août 2010 11:33
par Tlem
Question déjà abordée plusieurs fois et dont la réponse est dans la documentation http://www.autoitscript.fr/autoit3/docs ... vanced.htm :roll:

Code : Tout sélectionner

WinGetTitle("[ACTIVE]", "")

Re: [..] Connaitre la fenêtre active à tout moment.

Posté : sam. 07 août 2010 13:41
par SrBelial
...
si une zone de texte est déjà active, Send("coucou") écrira automatiquement dedans, pas besoin de trouver la fenêtre concernée.

Re: [..] Connaitre la fenêtre active à tout moment.

Posté : sam. 07 août 2010 20:31
par Patate
Merci pour vos réponses, voici mon code car j'arrive pas a faire écrire dans la fenétre active. (seul bouton configuré est le $bouton16) :
► Afficher le texte

Re: [..] Connaitre la fenêtre active à tout moment.

Posté : mar. 10 août 2010 14:31
par Yogui
Déjà chapeau très beau clavier :)

juste domage de n'avoir pas mis des noms "pratiques" aux boutons :?

J'ai un début de piste à votre problème qu'il faudra encore creuser un peu

Code : Tout sélectionner

#EndRegion ### END Koda GUI section ###
Local $derniereactive = WinGetTitle("[ACTIVE]", "")
While 1
    $title = WinGetTitle("[ACTIVE]", "") ;récupération du nom de la fenêtre active
    If $title <> "Virtu4l Clav13r V0.1" Then ; si cette fenêtre n'est pas Virtu4l ... alors
        $derniereactive = WinGetTitle("[ACTIVE]", "") ; je stock le nom de la dernière fenêtre active
        ConsoleWrite($derniereactive&@LF) ; (ligne pour débugage)
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button16
            WinActivate($derniereactive) ; j'active la fenêtre ou je veux mettre mon caractère
            Send("²") ; j'envoie mon caractère
    EndSwitch
WEnd

Re: [..] Connaitre la fenêtre active à tout moment.

Posté : jeu. 12 août 2010 01:40
par Patate
Merci pour votre réponse et votre soutiens. Votre solution est en effet à creusée, cependant j'ai mis le clavier en stand by car je me suis dis que j'avais visé trop haut trop vite, j'ai donc décidé de commencer par les bases ^^.

Concernant les boutons je ne savais pas vraiment l'intérêt des noms $buton mais j'ai compris en effet que les intitulés autrement sera plus utile.