Est-ce possible ?
Je sais qu'on peut deplacer une fenetre en indiquant les coordonnées des pixels qui forme le coin supérieur gauche.
Mais est-il possible de recuperer les coordonnées d'une fenetre deja positionnée ?
Merci de votre aide.
[RÉSOLU] Recuperer les coordonnées d'une fenetre
Re: Recuperer les coordonnées d'une fenetre
Tout est possible 
Avec un bout de code : (triangle rouge)
position contient la position de la fenêtre.
Note : il y a un bug dans la version Linux de Window() qui empêche la récupération des coordonnées des fenêtres. Ça sera corrigé dans la version 3.2.0. Sous Windows ça marche.

Avec un bout de code : (triangle rouge)
Code: Select all
var windows = Window.find({
title: "titre de fenêtre*",
titleMode: Window.Wildcard
});
var position = new Point(0, 0);
if(windows && windows.length > 0)
{
var windowRect = windows[0].rect();
position = new Point(windowRect.x, windowRect.y);
}
Note : il y a un bug dans la version Linux de Window() qui empêche la récupération des coordonnées des fenêtres. Ça sera corrigé dans la version 3.2.0. Sous Windows ça marche.
"My software never has bugs. It just develops random features."
Re: Recuperer les coordonnées d'une fenetre
ma reponse est tardive mais merci bcp !
j'ai cru croiser aussi par hasard un autre moyen de recuperer les coordonnées d'une fenetre.
Notamment via l'action "condition de fenetre" dans l'onglet "avancé" on peut stocker dans des variables les coordonées X et Y de la dite fenetre. J'ai pas testé mais j'imagine que c'est ca ?
En parlant de condition de fenetre j'ai un probleme avec mon code :
L'execution reste bloquée sur "condition de fenetre" comme si le cas "false" n'etait pas reconnu.
J'ajoute que ce code n'est qu'un exemple, j'ai eu le probleme sur un autre code qui me faisait pareil. J'ai essayé d'intervertir exist ou doesn't exist, ca ne change rien, idem pour le timeout.
S'agit-il d'un bug ou de moi qui fait mal quelque chose au niveau des conditions ?
j'ai cru croiser aussi par hasard un autre moyen de recuperer les coordonnées d'une fenetre.
Notamment via l'action "condition de fenetre" dans l'onglet "avancé" on peut stocker dans des variables les coordonées X et Y de la dite fenetre. J'ai pas testé mais j'imagine que c'est ca ?
En parlant de condition de fenetre j'ai un probleme avec mon code :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actionaz" version="3.0.1" scriptVersion="1.0.0" os="Windows"/>
<actions>
<action name="ActionDetachedCommand" version="1.0.0"/>
<action name="ActionStop" version="1.0.0"/>
<action name="ActionGoto" version="1.0.0"/>
<action name="ActionWindow" version="1.0.0"/>
<action name="ActionWindowCondition" version="1.0.0"/>
</actions>
<parameters/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionWindowCondition" comment="paint ouvert / ferme ">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="width">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="title">
<subParameter name="value" code="0">Sans titre - Paint</subParameter>
</parameter>
<parameter name="condition">
<subParameter name="value" code="0">exists</subParameter>
</parameter>
<parameter name="processId">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="height">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="ifTrue">
<subParameter name="line" code="0">paintouvert</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
<parameter name="ifFalse">
<subParameter name="line" code="0">paintferme</subParameter>
<subParameter name="action" code="0">goto</subParameter>
</parameter>
<parameter name="yCoordinate">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="xCoordinate">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
<action name="ActionWindow" label="paintouvert" comment="move à 0:0">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<parameter name="title">
<subParameter name="value" code="0">Sans titre - Paint</subParameter>
</parameter>
<parameter name="resizeHeight">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">move</subParameter>
</parameter>
<parameter name="movePosition">
<subParameter name="value" code="0">0:0</subParameter>
</parameter>
<parameter name="resizeWidth">
<subParameter name="value" code="0">0</subParameter>
</parameter>
</action>
<action name="ActionStop">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
</action>
<action name="ActionGoto" label="paintferme" comment="=>ouvrir">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<parameter name="line">
<subParameter name="value" code="0">ouvrir</subParameter>
</parameter>
</action>
<action name="ActionDetachedCommand" label="ouvrir" comment="ouverture de paint">
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<parameter name="processId">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="parameters">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="command">
<subParameter name="value" code="0">C:/Windows/System32/mspaint.exe</subParameter>
</parameter>
<parameter name="workingDirectory">
<subParameter name="value" code="0"></subParameter>
</parameter>
</action>
</script>
</scriptfile>
J'ajoute que ce code n'est qu'un exemple, j'ai eu le probleme sur un autre code qui me faisait pareil. J'ai essayé d'intervertir exist ou doesn't exist, ca ne change rien, idem pour le timeout.
S'agit-il d'un bug ou de moi qui fait mal quelque chose au niveau des conditions ?
Re: Recuperer les coordonnées d'une fenetre
Tout à fait, j'avais oublié cette possibilitéj'ai cru croiser aussi par hasard un autre moyen de recuperer les coordonnées d'une fenetre.
Notamment via l'action "condition de fenetre" dans l'onglet "avancé" on peut stocker dans des variables les coordonées X et Y de la dite fenetre. J'ai pas testé mais j'imagine que c'est ca ?

C'est bien un bug... Corrigé dans la prochaine version. MerciEn parlant de condition de fenetre j'ai un probleme avec mon code :
Quand je l'execute en entier tout va bien.
Mais quand je l'execute à partir de la ligne 2 (càd quand paint est fermé) il reste bloqué sur la condition de fenetre comme si le cas "false" n'etait pas reconnu.

Sinon, si ton script ne détecte pas Paint d'ouvert alors il en ouvre un autre en boucle ? C'est un peu risqué.
Je te conseille plutôt de choisir "Attendre" dans "Si faux" dans ton action de condition de fenêtre, comme ça l'action va attendre que la fenêtre soit ouverte avant de continuer.
"My software never has bugs. It just develops random features."
Re: Recuperer les coordonnées d'une fenetre
oui le code etait foireux c'etait juste pour l'exemple, d'ailleurs jai fait un EDIT le temps que tu ecrives cette réponse :pSinon, si ton script ne détecte pas Paint d'ouvert alors il en ouvre un autre en boucle ? C'est un peu risqué.
Je te conseille plutôt de choisir "Attendre" dans "Si faux" dans ton action de condition de fenêtre, comme ça l'action va attendre que la fenêtre soit ouverte avant de continuer.
Sinon pour la version 3.2 tu as une idée de la date de release ? Franchement meme incomplete juste pour ce bug fixe je dirai pas non, si tu veux me faire une version beta avec juste ca de corriger je la prends sans soucis.
Merci de ton aide en tout cas; Courage.
Re: Recuperer les coordonnées d'une fenetre
Bin normalement dans maximum 30 min elle est sur mon site :p
"My software never has bugs. It just develops random features."