[..] Contrôler le changement de position d'une fenêtre d'app
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Contrôler le changement de position d'une fenêtre d'app
Bonjour
Comme avec WM_MOVE pour une GUI, est-il possible de détecter le déplacement d'une fenêtre quelconque autrement que par des WinGetPos("titre"... incessants dans la boucle principale
Ceci pour lier une petite gui à une autre fenêtre, Notepad, SciTe, ou autre.
Merci.
Comme avec WM_MOVE pour une GUI, est-il possible de détecter le déplacement d'une fenêtre quelconque autrement que par des WinGetPos("titre"... incessants dans la boucle principale
Ceci pour lier une petite gui à une autre fenêtre, Notepad, SciTe, ou autre.
Merci.
Re: [..] contrôler le changement de position d'une fenêtre d
autrement que par des WinGetPos("titre"... incessants dans la boucle principale : malheureusement, il n'y a guère d'autre solution.
Si ton problème est la boucle principale, tu peux dédier le travail de surveilance à une fonction appelée par AdlibRegister.
Si ton problème est la boucle principale, tu peux dédier le travail de surveilance à une fonction appelée par AdlibRegister.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Contrôler le changement de position d'une fenêtre d
Ben sinon, il y a la solution du GUIRegisterMsg pour le message WM_MOVE. 
Il me semble bien que cela a déjà été discuté sur le forum.
Il me semble bien que cela a déjà été discuté sur le forum.
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é".
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é".
- TommyDDR
- Modérateur

- Messages : 2128
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Contrôler le changement de position d'une fenêtre d
Je pense qu'en soulignant "quelconque" il voulait parler d'une fenêtre pas forcément créé par ses soins.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Contrôler le changement de position d'une fenêtre d
Oui. J'avais bien compris.
Il suffit de donner le bon hanche.
Envoyé depuis mon appareil mobile.
Il suffit de donner le bon hanche.
Envoyé depuis mon appareil mobile.
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é".
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é".
- TommyDDR
- Modérateur

- Messages : 2128
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Contrôler le changement de position d'une fenêtre d
"Envoyé depuis mon appareil mobile"
Donc je suppose que l'auto-correction à transformé "handle" en "hanche"
Mais GUIRegisterMsg ne prends pas de handle en paramètre
(J'avais ouvert un topic pour le même sujet mais tu m'avais dit que c'était pas possible en GUIRegisterMsg)
Donc je suppose que l'auto-correction à transformé "handle" en "hanche"
Mais GUIRegisterMsg ne prends pas de handle en paramètre
(J'avais ouvert un topic pour le même sujet mais tu m'avais dit que c'était pas possible en GUIRegisterMsg)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Contrôler le changement de position d'une fenêtre d
Heuu, effectivement.TommyDDR a écrit :je suppose que l'auto-correction à transformé "handle" en "hanche"
Je n'ai jamais parlé des paramètres de la fonction !TommyDDR a écrit :Mais GUIRegisterMsg ne prends pas de handle en paramètre
Le but est d'enregistrer le message Windows de déplacement d'une fenêtre (paramètre msgID) et d'y appliquer une fonction.
Ensuite dans la fonction appliquée pour GUIRegisterMsg, on contrôle les éléments qui concernent uniquement la fenêtre cible (d’où le handle).
La section "Remarks" de la fonction GUIRegisterMsg montre de quoi je veux parler. D'ailleurs, l'exemple fournit dans la doc AutoIt 3.3.9.0 me parait sympa.
Après, je n'affirme pas que ça fonctionne pour une fenêtre en dehors de la GUI du script, mais c'est à essayer.
Edit : Effectivement, GUIRegisterMsg semble ne 'capter' que les événements liés au script lui même.
J'ai trouvé ça, mais on repart sur une boucle de gestion des fenêtres :
http://www.autoitscript.com/forum/topic ... egistermsg
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é".
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é".
Re: [..] Contrôler le changement de position d'une fenêtre d
Bon, je viens de bricoler un petit exemple bien tordu.
Mais je préfère largement utiliser WinGetPos en boucle plutôt que mon truc...
Mais je préfère largement utiliser WinGetPos en boucle plutôt que mon truc...
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [R] Contrôler le changement de position d'une fenêtre d
Bonjour et MERCI à tous :
Je reprends le train en marche car je croyais bien avoir coché la case 'suivre le sujet' ... et j'attendais dans mon coin. Mais rien n'est venu ... Donc ce n'est qu'en repassant sur le forum que je vois vos contributions.
Alors, dans l'ordre :
jguinch : AdlibRegister n'apporte rien de mieux, vu que son fonctionnement est bloquant
Tlem : oui GUIRegisterMsg comme son nom l'indique ne traite que les infos en provenance de la GUI
TommyDDR : "Je pense qu'en soulignant "quelconque" il voulait parler d'une fenêtre pas forcément créé par ses soins." c'est cela même
jguinch : "Bon, je viens de bricoler un petit exemple bien tordu. Mais je préfère largement utiliser WinGetPos en boucle plutôt que mon truc..."
ben solution originale qui m'a 'forcé' à télécharger la dernière version d'Autoit car mes vieilles n'ont pas les Include...
Mais cela n'est pas encore l'idéal : si on secoue un peu Notepad de droite à gauche on voit bien que la GUI décolle de quelques pixels : ce n'est pas un drame en soi, mais effectivement le WinGetPos fait aussi bien en pas plus compliqué
Résultat des courses :
- S'il s'agit de manipuler deux GUI le contrôle par event (WM_MOVE) est parfait, les deux fenêtres sont vraiment scotchées.
- S'il s'agit d'une fenêtre Win autre (dont on ne peut recevoir d'event), suivie par une GUI, les deux sont bien 'collées' tant qu'il n'y a rien d'autre dans le While que les calculs de position, mais il y a des petits défauts au décollage dès que le While contrôle d'autres éléments.
En attendant mieux je vais m'en contenter.
Mais étant bricoleur je vais réfléchir un peu plus au problème
Merci encore à tous.
P.S. sans avoir touché aux cases à cocher, la 'M'avertir ' est bien cochée. Donc pourquoi n'ai-je rien reçu ?
Je reprends le train en marche car je croyais bien avoir coché la case 'suivre le sujet' ... et j'attendais dans mon coin. Mais rien n'est venu ... Donc ce n'est qu'en repassant sur le forum que je vois vos contributions.
Alors, dans l'ordre :
jguinch : AdlibRegister n'apporte rien de mieux, vu que son fonctionnement est bloquant
Tlem : oui GUIRegisterMsg comme son nom l'indique ne traite que les infos en provenance de la GUI
TommyDDR : "Je pense qu'en soulignant "quelconque" il voulait parler d'une fenêtre pas forcément créé par ses soins." c'est cela même
jguinch : "Bon, je viens de bricoler un petit exemple bien tordu. Mais je préfère largement utiliser WinGetPos en boucle plutôt que mon truc..."
ben solution originale qui m'a 'forcé' à télécharger la dernière version d'Autoit car mes vieilles n'ont pas les Include...
Mais cela n'est pas encore l'idéal : si on secoue un peu Notepad de droite à gauche on voit bien que la GUI décolle de quelques pixels : ce n'est pas un drame en soi, mais effectivement le WinGetPos fait aussi bien en pas plus compliqué
Résultat des courses :
- S'il s'agit de manipuler deux GUI le contrôle par event (WM_MOVE) est parfait, les deux fenêtres sont vraiment scotchées.
- S'il s'agit d'une fenêtre Win autre (dont on ne peut recevoir d'event), suivie par une GUI, les deux sont bien 'collées' tant qu'il n'y a rien d'autre dans le While que les calculs de position, mais il y a des petits défauts au décollage dès que le While contrôle d'autres éléments.
En attendant mieux je vais m'en contenter.
Mais étant bricoleur je vais réfléchir un peu plus au problème
Merci encore à tous.
P.S. sans avoir touché aux cases à cocher, la 'M'avertir ' est bien cochée. Donc pourquoi n'ai-je rien reçu ?

