Page 1 sur 1

[R] Position de souris dans fenêtre

Posté : dim. 06 févr. 2011 13:35
par Rexspahr
Bonjour, j'ai fait des recherches pour mon problème, mais pas avec les bons mots apparemment...

Alors voilà, je voudrais déplacer la souris par rapport à une fenêtre (exemple : notepad). Cette fenêtre, à chaque fois qu'on l'ouvre bouge de place (principe d'affichage en cascade je crois), alors je voudrais placer ma souris par rapport à cette fenêtre, comme ça, quelque soit l'endroit de la fenêtre, mon petit programme fonctionne toujours !

Vous pourriez m'indiquer la méthode à avoir ?

Voici mon bout de programme :

Code : Tout sélectionner

$vit = 15

Send("#m")
MouseClick("LEFT",380,24,2,$vit)
sleep(2000)
MouseClick("LEFT",186,147,2,$vit)
sleep(500)
Send("level")
Send("{ENTER}")

Merci d'avance à vous !

Re: [..] Position de souris dans fenêtre

Posté : dim. 06 févr. 2011 13:40
par sablier94
Salut,

Si tu fait la position x de la souris sur l'écran moins la position x de la fenêtre, ça te donne ce que tu cherches ?
Puis tu fait pareil pour le y.

Re: [..] Position de souris dans fenêtre

Posté : dim. 06 févr. 2011 13:52
par Rexspahr
Et comment fait-on pour savoir la position de la fenêtre ? :oops:

EDIT : J'ai trouvé.
J'utilise la fonction WinGetPos ;)

Merci du coup de main ! :)

Re: [..] Position de souris dans fenêtre

Posté : dim. 06 févr. 2011 13:57
par sablier94
Avec la fonction WinGetPos("Titre de ta fenêtre")

Elle donne le résultat sous forme de tableau 1D, voir dans l'aide.

A+

EDIT : Bon, bah tu as trouvé juste avant que je poste. Et ça fonctionne ?

Re: [R] Position de souris dans fenêtre

Posté : dim. 06 févr. 2011 15:16
par Rexspahr
Oui, ça fonctionne très bien maintenant ^^

Voici le code pour ceux qui ont le même problème que moi (à adapter biensur !)

Code : Tout sélectionner

#NoTrayIcon

$vit = 15
$xpos = 50
$ypos = 10


Send("#m")
MouseClick("LEFT",380,24,2,$vit)
sleep(2000)
$size = WinGetPos("[active]")

$xfen = $size[0] + 45
$yfen = $size[1] + 39

MouseClick("LEFT",$xfen,$yfen,1,$vit)
sleep(1000)
Send("Inv")
Send("{ENTER}")
sleep(500)

$xfen = $size[0] + 130
$yfen = $size[1] + 40

MouseClick("LEFT",$xfen,$yfen,1,$vit)
Sleep(500)
Send("level")
Sleep(500)
Send("{ENTER}")
Sleep(500)

$xfen = $size[0] + 649
$yfen = $size[1] + 10
MouseClick("LEFT", $xfen, $yfen, 1,$vit)