Page 1 sur 1

[V] Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 04:02
par WolfWhite
Salut.

J'aurais besoin de votre aide.

Je voudrais que lorsque j'appuie sur entrer dans un jeux, la fenêtre du jeux ce réduit.

J'ai déjà fait des recherches et j'ai fais ce code :

Code : Tout sélectionner

HotKeySet("ENTER", Send ("windows{M}") )
windows{m}, car wind + m réduisent tout les fenêtrés.

Mais sa marche pas :/

Re: Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 09:29
par flodiable
Salut si tu as le nom de tes fenêtres tu peux utilisé :

Code : Tout sélectionner

WinSetState("titre de la fenêtre","texte optionnel",@SW_MINIMIZE)
tu peux également utilisé @SW_HIDE et @SW_SHOW, F1 as google is your friend ;)

La partie texte n'est pas très importante sauf si tu as des fenêtre qui ont le même nom, tu peux mettre "" à la place.

Re: Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 09:35
par mikell

Code : Tout sélectionner

HotKeySet("{ENTER}", "Reduc")

Func Reduc()
   WinMinimizeAll()
   ; WinSetState("[ACTIVE]", "",@SW_MINIMIZE)
EndFunc
Sinon pour le Send c'est

Code : Tout sélectionner

HotKeySet("{ENTER}", Send ("#m") )

Re: Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 10:48
par timmalos
Je vous demanderai de vous conformer aux règles du forum dans la présentation du titre de votre message, sinon celui ci se verra supprimé. Merci

Re: Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 11:34
par ZDS
Bonjour,

Comme Timmalos l'a fait remarquer, modifie le titre de ton message avec [..] devant (franchement, faut avoir de la mauvaise volonté pour ne pas voir les règles de présentation quand on crée un message... désolé si je me braque, mais ça devient de plus en plus fréquent).

Bref, sinon :

Code : Tout sélectionner

HotKeySet("{ENTER}", "Reduc")
Func Reduc()
   Send ("#m")
EndFunc
Par rapport au second code que mikell t'a proposé, il est faux. HotKeySet("{ENTER}", Send("#m") ) ne permet pas d'associer la commande Send("#m") à la touche Enter, mais d'associer le retour de la fonction Send("#m"), c'est à dire rien du tout ("Send" Return Value : None), à la touche => ça ne fonctionne donc pas, et c'est logique. Sans oublier que la commande est exécutée au moment de cet appel. Bref, à ne pas faire : cf ce que je te propose en début de post.

A bientôt !

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 14:31
par WolfWhite
Message modifié =)

Je voudrais aussi que dés que j'appuie sur entrer sa attend quelque seconde avant d'effectuer l'action, j'ai essayer ça :

HotKeySet("{ENTER}", sleep(300), "Reduc")


Func Reduc()
WinMinimizeAll()
; WinSetState("[ACTIVE]", "",@SW_MINIMIZE)
EndFunc

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 14:37
par ZDS
Doublon à effacer.

Au lieu de bidouiller le HotKeySet, ajoute ton sleep dans ta fonction :

Code : Tout sélectionner

HotKeySet("{ENTER}", "Reduc")
[...]
Func Reduc()
    sleep(300)
    WinMinimizeAll()
EndFunc

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 14:44
par WolfWhite
Merci de ta réponse, et si je veux que sa appuie sur entrer normalement et que après sa effectuer mon action reduire je fais sa ?

HotKeySet("{ENTER}", "Reduc")

Func Reduc()
send("{ENTER}")
sleep(300)
WinSetState("ioUrbanTerror", "",@SW_MINIMIZE)
EndFunc

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 14:59
par ZDS
Il vaut mieux pas, sinon ton script risquerait de réinterpreter ton appui sur Enter.
Tu aurais pu lire la doc de la fonction HotKeySet, elle traite justement ce problème...
When you set a hotkey, AutoIt captures the key-press and does not pass it on to the active application, with one exception: the Lock keys (NumLock, CapsLock, and ScrollLock) still toggle their respective state!
To Send() a key combination which will trigger a HotKeySet() event, either use ControlSend() or unregister the HotKeySet() event, otherwise, the Send() event may trigger an infinite loop.

; capture and pass along a keypress
HotKeySet("{Esc}", "captureEsc")
Func captureEsc()
; ... can do stuff here
HotKeySet("{Esc}")
Send("{Esc}")
HotKeySet("{Esc}", "captureEsc")
EndFunc


The called function can not be given parameters. They will be ignored.

@HotKeyPressed macro can be used inside the function to handle several keys in the same function.
EDIT: As-tu lu ce que je viens d'écrire???
► Afficher le texteSolution au cas où je n'ai pas été assez explicite (ce dont je doute)

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:04
par WolfWhite
Mouhai, et il y a vraiment pas un moyen que j'appuie sur entrer sa effectuer entrer et ensuite ma fonction pour reduire ?

Re: Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:09
par mikell
ZDS a écrit :Par rapport au second code que mikell t'a proposé, il est faux.
ça m'apprendra tiens à ne pas écrire des trucs vite-fait juste avant de partir au boulot et mal réveillé et sans avoir testé :mrgreen:

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:11
par WolfWhite
Je viens de testé avec 2 fonctions, sa marche pas :/

HotKeySet("{ENTER}", "go")
Func go()
Sleep(300)
send("{ENTER}")
EndFunc

Sleep(300)

HotKeySet("{ENTER}", "Reduc")

Func Reduc()
sleep(300)
WinSetState("ioUrbanTerror", "", @SW_MINIMIZE)
EndFunc

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:16
par mikell
Tu demandes à ta touche 'enter' de faire 2 choses à la fois, ça merdoie c'est normal
T'as essayé ça ?
ZDS a écrit :

Code : Tout sélectionner

HotKeySet("{ENTER}", "Reduc")
[...]
Func Reduc()
    sleep(300)
    WinMinimizeAll()
EndFunc

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:18
par ZDS
Même si ça ne fait que (pour le moment) réduire les fenêtres, bizarrement tu t'es bien gardé de nous prévenir que c'était pour un bot ou tout au moins dans le domaine d'un jeu vidéo??? Juste pour rappel : Si c'est pour du botting (je ne pense pas, mais peut être), il vaut mieux que tu arrêtes de suite de poser des questions ici; c'est strictement interdit par les règles de ce forum.

Si ce n'est pas le cas, lis un peu mieux mon précédent message, et tu trouveras ta solution; malgré cela je persiste à dire que si tu lisais la documentation AutoIt au lieu de demander ici à chaque mot clef de travers, tu irais 100 fois plus vite ! ^^

A bientôt !

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:20
par mikell
Image en fait, quoi :mrgreen:

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:23
par WolfWhite
Ce n'est pas un bot, c'est juste pour faire un bind pour moi aller plus vite a modifier un fichier de config sur mon pc pendant le jeux ;)

Sinon, c'est bon, merci beaucoup de votre t'aide =)

Re: [..]Reduire une fenetre lorsque on presse une touche.

Posté : jeu. 30 juin 2011 15:31
par Iste
Bot, question basiques, non-lecture des réponses données, double post, bref... je verrouille ce Topic

ZDS vous a déja largement aidé.

Avant de revenir poser des questions sur ce forum je vous recommande la lecture de ceci : http://www.siteduzero.com/tutoriel-3-22 ... utoit.html



[Edit by l'ogre] ARGLLLL !!! j'étais en train de regarder comment marche UrbanTerror, et je me suis fait griller sur le lock !
(et en plus ce jeu a son propre langage de scripting, donc bon, pas besoin d'autoit...)