Page 1 sur 2

[..] Mouse 3

Posté : mar. 07 avr. 2009 08:40
par Jerome
Bonjour,

Voila, travaillant pas mal sur des petits scripts, j'aurai voulut savoir si Mouse3 (la roulette ou molette de la souris comme on l'appelle) pouvait être intégrer dans des scripts Auto It.

Si c'est le cas, j'aurai un script surement a vous soumettre, puisque cela fait pas mal de temps que je pense a le réaliser alors que je ne voit pas du tout comment modéliser ce script d'un point de vu organisation.

Merci et bonne journée.

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 11:39
par Yogui
De tête il me semble que c'est

MouseWheel("up",5)

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 12:14
par Jerome
ok, donc c'est possible de travailler en auto it avec mouse3.

Je vous expose ce que je veux faire, bien que au niveau de l'organisation en elle même du script, sa me semble hard pour moi.

J'aurai voulu faire un script qui soit toujours actif, qui ne se ferme pas quand je l'ai exécuter et qui ne s'ouvre pas quand je l'exécute, tout le temps actif .

En faite, j'ai quatre touches :

- F1
- F2
- F3
- F4

J'aurai voulu que par exemple, je suis sur F1, je fait un coup de molette vers le bas, et je me retrouve sur F2.

Pareil de F1 => F2
F2 => F3
F3 => F4.

Ainsi que la même chose en sens inverse si je fait monter la roulette :

F4 => F3
F3 => F2
F2 => F1.

Et qu'il y ait des bornes, qu'on ne puissent pas aller au dessus de F1 ni en dessous de F4.

En gros :

> F1 <=> F2 <=> F3 <=> F4 <

Es-ce possible ?

Merci de votre aide .

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 13:42
par Yogui
j'ai fait deux trois tests et il me semble que ce n'est pas possible (en tout cas par moi :mrgreen: )

le problème est que je ne sais pas intercepter le fait de manipuler la molette je peux dire au script de l'utiliser.

j'espère que d'autre auront une solution :!:

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 13:59
par Jerome
Ok merci d'avoir essayer, j'attends la réponse d'autre personnes.

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 14:27
par jbnh
Salut, oui il y a moyen avec l'udf MouseSetOnEvent_UDF.au3 que tu peux trouver ici : http://www.autoitscript.com/forum/index ... opic=64738

Mais je ne comprend pas ce que tu veux dire par : "Si je suis sur F1"

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 14:34
par Jerome
Non c'est juste pour attribuer une touche par défaut.

Y'a t'il moyen que tu me donne un début de script que je complète ?

Pour avoir la syntaxe ?

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 16:13
par Yogui
j'ai joué un peu avec cet include mais comment récupérer le sens de rotation de la molette ?

j'ai modifié l'exemple fournit dans le Zip pour tester
► Afficher le texte

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 16:36
par Jerome
Le truc c'est que pour moi sa se fait avec

$MOUSE_WHELLDOWN_EVENT - Whell mouse button pressed down.
$MOUSE_WHELLUP_EVENT - Whell mouse button up.

Vu que je ne connait que le pascal et un peu l'algo :

pour moi concretement sa fait :

If => Sur F1 alors
MOUSE_WHELLDOWN_EVENT => F2
If => Sur F2 alors
MOUSE_WHELLDOWN_EVENT => F3
MOUSE_WHELLUP_EVENT => F1
If => Sur F3 alors
MOUSE_WHELLDOWN_EVENT => F4
MOUSE_WHELLUP_EVENT => F2
If => Sur F4 alors
MOUSE_WHELLUP_EVENT => F3


Par contre, je voudrait que le code soit toujours actif (petite icône auto it en bas a droite indiquant que le script est actif), mais cependant, si je ne fait rien, le script garde en mémoire sur quelle touche je suis (F1, F2, F3 ou F4) et que je si bouge la molette, sa exécute la partit du script correspondant pour appuyer sur la touche F1, F2, F3 ou F4.

Oui désolé je l'ai peut être pas expliquer comme sa, mais je pense que c'est une saisit (en gros je tourne la molette de F2 vers F1 => alors sa m'appuie sur F1 (send(F1)).

J'ai l'impression que c'est pas très claire ce que je dit ...

Merci de votre aide et a ce qui comprenne ce que je veux faire.

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 16:45
par Yogui
désolé mais non

testez en remplacant dans mon exemple

Code : Tout sélectionner

    _MouseSetOnEvent($MOUSE_WHELLSCROLL_EVENT, "utilisationdelamolettet", "", "", $hGUI)
par

Code : Tout sélectionner

    _MouseSetOnEvent($MOUSE_WHELLDOWN_EVENT, "utilisationdelamolettet", "", "", $hGUI)

Re: [..] Mouse 3

Posté : mar. 07 avr. 2009 19:12
par Jerome
ok ok

Je poste dans la partit création de scripts pour que quelqu'un me le fasse, sachant que je ne connait pas du tout le langage Auto It.

Merci de ton aide Yogui ^^

Re: [..] Mouse 3

Posté : mer. 08 avr. 2009 20:02
par Jerome
J'ai essayer de faire quelque chose avec la syntaxe du lien de jbnh.

Sa me donne :

Code : Tout sélectionner

#include <MouseSetOnEvent_UDF.au3>

_MouseSetOnEvent($MOUSE_WHELLDOWN_EVENT, "mouse_welldown_event")

_MouseSetOnEvent($MOUSE_WHELLUP_EVENT, "mouse_wellup_event")

Func mouse_welldown_event()
    Send("{F3}")
EndFunc

Func mouse_wellup_event()
    Send("{F1}")
EndFunc
 
Petit problème, sa ne fonctionne pas quand je veux lancer le script :

Code : Tout sélectionner

 #include <MouseSetOnEvent_UDF.au3>
Error : Error opening the file.
 
PS : C'est pareil si je reprend le code de la personne :

Code : Tout sélectionner

#include <MouseSetOnEvent_UDF.au3>

;Disable Primary mouse button *down*, and call our function when mouse button *down* event is recieved
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "MousePrimaryDown_Event")
Sleep(5000)
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT) ;Enable mouse button back.

MsgBox(64, "Attention!", "Now we disable Secondary mouse button up, and call our function when mouse button up event is recieved.", 5)

;Disable Secondary mouse button *up*, and call our function when mouse button *up* event is recieved
_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "MouseSecondaryUp_Event")
Sleep(5000)
_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT) ;Enable mouse button back.



Func MousePrimaryDown_Event()
    ConsoleWrite("Primary Mouse Down" & @LF)
EndFunc

Func MouseSecondaryUp_Event()
    ConsoleWrite("Secondar Mouse Up" & @LF)
EndFunc
edit : Aparement je n'est pas le fichier MouseSetOnEvent_UDF.au3 sur mon ordinateur.

Sinon je ne sait pas du tout comment gérer le fait que le programme se rappelle sur quel "F.." je suis actuellement.

Quelqu'un peut m'aider ?

Re: [..] Mouse 3

Posté : mer. 08 avr. 2009 20:46
par ani
pourtant le lien vers l'include _mouse.. est présent sur la page proposée par jbnh
_> MouseSetOnEvent_UDF.au3

téléchargé le et envoyé le fichier udf dans le dossier include

Re: [..] Mouse 3

Posté : jeu. 09 avr. 2009 17:32
par Jerome
Bonjour,

Voila mon petit script s'exécute, problème, il s'ouvre puis ce ferme toute de suite (on voit l'icone auto it en bas pendant 1/2 s, puis fini).

Y'aurait-il moyen que ce script soit actif tout le temps ?

Re: [..] Mouse 3

Posté : jeu. 09 avr. 2009 17:44
par Yogui
le mettre dans une boucle infinie
► Afficher le texte
Echap pour sortir de la boucle


sachant que si ce code ne donne pas le résultat attendu c'est que :
Yogui a écrit :désolé mais non

testez en remplacant dans mon exemple

Code : Tout sélectionner

    _MouseSetOnEvent($MOUSE_WHELLSCROLL_EVENT, "utilisationdelamolettet", "", "", $hGUI)
par

Code : Tout sélectionner

    _MouseSetOnEvent($MOUSE_WHELLDOWN_EVENT, "utilisationdelamolettet", "", "", $hGUI)

Re: [..] Mouse 3

Posté : jeu. 09 avr. 2009 18:38
par Jerome
Par ceci donc, j'ai pas trop trop compris ce que tu voulais que je remplace vu que sa y est déjà.

Code : Tout sélectionner

#include <MouseSetOnEvent_UDF.au3>
HotKeySet("{ESC}","_terminate")
while 1 ; tant que 1 = 1 alors
_MouseSetOnEvent($MOUSE_WHELLUP_EVENT, "utilisationdelamolettet", "", "", $hGUI)

_MouseSetOnEvent($MOUSE_WHELLDOWN_EVENT, "utilisationdelamolettet", "", "", $hGUI)

Wend

Func mouse_welldown_event()
    Send("{F3}")
EndFunc

Func mouse_wellup_event()
    Send("{F1}")
EndFunc

Func _terminate()
    Exit
EndFunc
Sa donne sa ?

Parce que sa me lance une erreur sa ...

edit : j'ai compris ce que tu voulait dire, sa me lance le "should be shown" qand je click, mais rien du tout quand je clique.

Re: [..] Mouse 3

Posté : jeu. 09 avr. 2009 20:13
par Tlem
Je vous conseil d'aller faire un tour de toute urgence par la section Tutoriel.
Si vous voulez faire un petit peu de développement avec AutoIt, il faut faire un minimum d'effort et de lecture (Tutoriel et fichier d'aide).

Re: [..] Mouse 3

Posté : jeu. 09 avr. 2009 20:58
par Jerome
Ok, je vais m'y mettre.

Mais avant de commencer le vrai corp du programme, quelqu'un pourrait me valider ceci en algo, vu que j'en fait un peu.

Code : Tout sélectionner


[color=#FF0000]Var [/color]: Touche : Entier

Touche  <- F1

Si Touche <- F1 alors
    Si Mouse_Move_Down alors
    Send("F2")
    Sinon rien

Si Touche <- F2 alors
     Si Mouse_Move_Up alors
     Send("F1")
     Si Mouse_Move_Down alors
     Send("F3")
     Sinon rien

Si Touche <- F3 alors
     Si Mouse_Move_Up alors
     Send("F2")
     Si Mouse_Move_Down alors
     Send("F4")
     Sinon rien

Si Touche <- F4 alors
    Si Mouse_Move_Up alors
    Send("F3")
    Sinon rien
 
Sa surtout pour la forme si je ne sait pas comment c'est bon.

Après, je ne sait pas trop trop comment faire les variables sur Auto It, donc la je me redirige vers les tuto.

Si quelqu'un peut me valider ci dessus, je pense pas que Si => Si, Si, Sinon soit très correct, mais je ne sait pas comment le remplacer.

edit : Je lis dans la doc : "MouseWheel Simule l'action de la molette de la souris. SEULEMENT pour NT/2000/XP.", vu que je tourne sous Windows Vista, mon programme tombe a l'eau ?

Re: [..] Mouse 3

Posté : ven. 10 avr. 2009 07:36
par Yogui
Jerome a écrit :
edit : j'ai compris ce que tu voulait dire, sa me lance le "should be shown" qand je click, mais rien du tout quand je clique.

Ce que je voulai dire en fait c'est que si il est possible de récupérer l'évenement molette tourne il n'est pas possible de savoir dans quel sens (avec cet include).

Re: [..] Mouse 3

Posté : sam. 11 avr. 2009 00:18
par Jerome
Il y aurait un autre include ?