Souris turbo

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Souris turbo

Message par dayvid »

Bonjour :D

Je voudrait faire un petit programme qui fait que quand ont appuie sur un bouton de la sourie (par exemple gauche)
plus de X temps, le mode turbo de la souris s'active (clique a la chaine)

Par exemple, je clique 1 seconde sur le bouton gauche de la souris
et au bout d'une seconde et bien le mode turbo s'active jusqu'a ce que je relache le bouton de la souris et ainsi de suite !

Mais je ne sais pas comment on fait pour simuler un clique sur un bouton de la souris :(

Je vais faire une petite recherche mais je voudrait savoir si vous savez comment faire un tel programme :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Souris turbo

Message par Le Soldat Inconnu »

Regarde l'API GetAsyncKeyState pour récupérer si le bouton de la souris est appuyé ou non

Keybd_event_( pour simuler les appuie clavier, mais je ne sais plus si ça permet de simuler la souris
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Souris turbo

Message par kernadec »

bonsoir

j'ai deux trois bout de code .... voilà.

Cordialement

Code : Tout sélectionner

Enumeration
  #Web1
  #Button1
EndEnumeration

Procedure WindowOpen()
  OpenWindow(1,0,0,500,400,"Window",#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  CreateGadgetList(WindowID(1)) 
  ButtonGadget(#Button1, 10, 10, 40, 20, "Test")
  WebGadget(#Web1, 10, 40, 480, 320, "www.google.de")
EndProcedure

Procedure MAKELPARAM(low.w, high.w)
  ProcedureReturn low + (high << 16)
EndProcedure

Procedure SimulateClick()
  mx.w= 473 ; These Coordinates are where a link should be, please check
  my.w= 376
  lParam = MAKELPARAM(mx.w, my.w)
  SendMessage_(WindowID(1),#WM_LBUTTONDOWN,0,lParam)
  SendMessage_(WindowID(1),#WM_LBUTTONUP,0,lParam)
EndProcedure

Procedure EventHandling()
  Repeat
    ;GetCursorPos_(pt.POINT)    ; Check Please where a Link is set in your WebGadget, I have used google germany.
    ;Debug "x:" + Str(pt\x) + "y:" + Str(pt\y)
    EventID=WaitWindowEvent()
    Select EventID
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Button1    
            SimulateClick()     
        EndSelect
    EndSelect
  Until EventID=#PB_Event_CloseWindow
  CloseWindow(1)
  End
EndProcedure

Procedure Main()
  WindowOpen()
  EventHandling()
EndProcedure

Main() 


Code : Tout sélectionner

; German forum:
; Author: Unknown (updated for PB4.00 by blbltheworm)
; Date: 22. March 2003
; OS: Windows
; Demo: No

;Mögliche Konstanten für das Ereignis 
#MOUSEEVENTF_MOVE = $1 
#MOUSEEVENTF_ABSOLUTE = $8000 
#MOUSEEVENTF_LEFTDOWN = $2 
#MOUSEEVENTF_LEFTUP = $4 
#MOUSEEVENTF_MIDDLEDOWN = $20 
#MOUSEEVENTF_MIDDLEUP = $40 
#MOUSEEVENTF_RIGHTDOWN = $8 
#MOUSEEVENTF_RIGHTUP = $10 


Procedure MouseEvent(Ereignis.l) 
  Mem.l=GlobalAlloc_(0,8) 
  GetCursorPos_(Mem) 
  mouse_event_(Ereignis|#MOUSEEVENTF_ABSOLUTE,PeekL(Mem)*($FFFF/GetSystemMetrics_(0)),PeekL(Mem+4)*($FFFF/GetSystemMetrics_(1)),0,GetMessageExtraInfo_()) 
  GlobalFree_(Mem) 
EndProcedure 

;Simuliert einen Klick mit der Rechten Maustaste an der aktuellen Cursorposition 
MouseEvent(#MOUSEEVENTF_RIGHTDOWN) 
MouseEvent(#MOUSEEVENTF_RIGHTUP) 


Code : Tout sélectionner

OpenWindow(0,0,0,800,600,"",$CA0001)
CreateGadgetList(WindowID(0))
ButtonGadget(1,100,100,100,30,"pressed")
Repeat
  If GetAsyncKeyState_(#VK_LBUTTON) And GetActiveWindow()=0
    SendMessage_(GadgetID(1),#WM_LBUTTONDOWN,0,0)
  EndIf
Until WaitWindowEvent()=16

Code : Tout sélectionner

keybd_event_(12, 0, 0, 0)
For a = 1 To 2
mouse_event_(#MOUSEEVENTF_LEFTDOWN,0,0,0,0)
  Delay(GetDoubleClickTime_()-1)
mouse_event_(#MOUSEEVENTF_LEFTUP,0,0,0,0)
Next a
keybd_event_(12, 0, #KEYEVENTF_KEYUP, 0)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Souris turbo

Message par dayvid »

Merci je regarde sa mais ce qui m’intéresse vraiment ce serais de savoir exactement l’étas de la souris de Windows sans passer par une fenêtre pour gérer les évènements, un petit exemple mais c'est pas encore bien sa:

Code : Tout sélectionner

; Crée par monsieur dieppedalle david le dimenche 22 janvier 2012

TempsAttenteAventRepetition = 500
TempsDeRepetition = 250
CliquePersonnaliser$ = "Clique gauche"

;{ Aide GetMouseKeyPressed
;---------------------------------------------------------------Pour la souris:-----------------------------------------------------------------------------------------------------

; Le Mode peut être entre 1 et 5, sinon si différent de 1, 2, 3, 4 ou 5,  le mode 1 sera appliquer par défaut
;
; 1 = Renvoie uniquement le nom du clique presser (Mode par défaut)
; 2 = Renvoie le nom ainsi que le code du clique presser
; 3 = Renvoie le nom ainsi que le code du clique presser sous la forme Hexa
; 4 = Renvoie uniquement le code du clique presser
; 5 = Renvoie uniquement le code du clique presser mais sous la forme Hexa

;} Syntaxe:  Clique_Souris$ = GetMouseKeyPressed(Mode)

Procedure.s GetMouseKeyPressed(Mode)
  
  For Clique = 1 To 6
    Cle_Clique = GetAsyncKeyState_(Clique)
    
    If Cle_Clique = 32768
      
      If Clique = 1
        Clique$ = "Clique gauche"
        
      ElseIf Clique = 2
        Clique$ = "Clique droit"
        
      ElseIf Clique = 4
        Clique$ = "Clique centre"
        
      ElseIf Clique = 5
        Clique$ = "Clique Précédent"
        
      ElseIf Clique = 6
        Clique$ = "Clique Suivent"
        
      Else
        Clique$ = "inconnue"
      EndIf
      
      If Mode = 1
        Clique_Souris$ = Clique$
        
      ElseIf Mode = 2
        Clique_Souris$ = Clique$ + " | " + Str(Clique)
        
      ElseIf Mode = 3
        Clique_Souris$ = Clique$ + " | " + "$" + RSet(Hex(Clique), 2, "0")
        
      ElseIf Mode = 4
        Clique_Souris$ = Str(Clique)
        
      ElseIf Mode = 5
        Clique_Souris$ = "$" + RSet(Hex(Clique), 2, "0")
        
      Else
        Clique_Souris$ = Clique$
      EndIf
      
    EndIf
    
  Next
  
  ProcedureReturn Clique_Souris$
EndProcedure

#EvenementSouris_MOVE = $1 ; Faire légèrement bouger la souris
#EvenementSouris_ABSOLUTE = $8000 ; Stoper le mouvement de la souris
#EvenementSouris_LEFTDOWN = $2 ; Bouton gauche souris appuiyer
#EvenementSouris_LEFTUP = $4 ; Bouton gauche souris non appuiyer
#EvenementSouris_RIGHTUP = $10 ; Bouton droit souris appuiyer
#EvenementSouris_RIGHTDOWN = $8 ; Bouton droit souris non appuiyer
#EvenementSouris_MIDDLEDOWN = $20 ; Bouton millieu souris appuiyer
#EvenementSouris_MIDDLEUP = $40 ; Bouton millieu souris non appuiyer

; Pris dans CodeArchive
Procedure EvenementSouris(Mode.l)
  Mem.l=GlobalAlloc_(0,8) 
  GetCursorPos_(Mem) 
  mouse_event_(Mode|#EvenementSouris_ABSOLUTE,PeekL(Mem)*($FFFF/GetSystemMetrics_(0)),PeekL(Mem+4)*($FFFF/GetSystemMetrics_(1)),0,GetMessageExtraInfo_()) 
  GlobalFree_(Mem) 
EndProcedure 

Repeat ; Départ des évènements de boucle
  
  EventType = EventType() ; Le type d'évènement qui c'est produis sur le gadget
  CliqueSouris$ = GetMouseKeyPressed(1) ; Je recupère le bouton appuiyer actuellement de la souris
  
  If CliqueSouris$ = CliquePersonnaliser$
    Clique + 1 ; Le bouton gauche de la souris vient tous juste d'être appuiyer
    
    If Clique = 1 ; Si le bouton gauche de la souris vient tous juste d'être appuiyer
      Delay(TempsAttenteAventRepetition) ; Attendre un petit momment avent d'enclencher la répétition automatique !
    EndIf
    
    If Clique > TempsDeRepetition ; Si le bouton gauche de la souris est toujour appuiyer au bout de 250 passage soit 250 MilliSecondes
      
      ; Ici ont va simuler un clique souris gauche complet puis ont restera le bouton appuiyez
      EvenementSouris(#EvenementSouris_LEFTDOWN) ; Appuiyez
      EvenementSouris(#EvenementSouris_LEFTUP)   ; Non Appuiyez
      EvenementSouris(#EvenementSouris_LEFTDOWN) ; Appuiyez
      
      Clique = 2 ; Ici je réinitialise la variable avec la valeur 2 pour ne pas encore "Attendre un petit momment avent d'enclencher la répétition automatique"
      
      Delay(1) ; Attent 1 MilliSecondes avent de continuer
      
    EndIf
    
  EndIf
  
  Delay(1) ; Attend 1 MilliSecondes avent de continuer si rien ne se passe histoire de ne pas monopoliser tous le temps du processeur
  
Until Fin = 1

J'arrive pas a faire mieux que sa :(

Ce qui serais pas mal que je compte faire si je le peut est un espèce de gestionnaire de simulation de touche quelconque, souris, clavier, un programme on on peut programmer ce que va faire le clavier ou la souris comme si c'étais nous qui le faisions en directe, vous me comprenez je l’espère :)

Merci pour votre aide :D
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Souris turbo

Message par Le Soldat Inconnu »

Pour connaître l'état de la souris

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4.60

; Explication du programme :
; Pour faire des programmes de test rapidement, il ne reste qu'a rajouter les gadgets et la gestion des évènements.

; Création de la fenêtre
If OpenWindow(0, 0, 0, 500, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0
	End
EndIf

StickyWindow(0, 1)

TextGadget(0, 0, 0, 500, 20, "")
TextGadget(1, 0, 20, 500, 20, "")
TextGadget(2, 0, 40, 500, 20, "")
TextGadget(3, 0, 60, 500, 20, "")

AddWindowTimer(0, 1, 20)

Repeat
	Event = WaitWindowEvent()
	
	Select Event
		Case #PB_Event_Timer
			Select EventTimer()
				Case 1
					
					Souris_ClicDroit = GetAsyncKeyState_(#VK_RBUTTON)
					If Souris_ClicDroit
						SetGadgetText(0, "Bouton droit :" + Chr(9) + "Appuyé")
					Else
						SetGadgetText(0, "Bouton droit :" + Chr(9) + "Relaché")
					EndIf
					
					Souris_ClicMilieu = GetAsyncKeyState_(#VK_MBUTTON)
					If Souris_ClicMilieu
						SetGadgetText(1, "Bouton milieu :" + Chr(9) + "Appuyé")
					Else
						SetGadgetText(1, "Bouton milieu :" + Chr(9) + "Relaché")
					EndIf
					
					Souris_ClicGauche = GetAsyncKeyState_(#VK_LBUTTON)
					If Souris_ClicGauche
						SetGadgetText(2, "Bouton gauche :" + Chr(9) + "Appuyé")
					Else
						SetGadgetText(2, "Bouton gauche :" + Chr(9) + "Relaché")
					EndIf
					
					SetGadgetText(3, "Position :" + Chr(9) + Str(DesktopMouseX()) + " / " + Str(DesktopMouseY()))
					
			EndSelect
			
		Case #PB_Event_Menu
			Select EventMenu() ; Menus
					
			EndSelect
			
		Case #PB_Event_Gadget
			Select EventGadget() ; Gadgets
					
			EndSelect
	EndSelect
	
Until Event = #PB_Event_CloseWindow
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Souris turbo

Message par Ar-S »

J'ai l'impression que tu veux escalader l'everest en chausson...
J'ai l'impression que tu souhaites ce genre de programme pour te faciliter la vie dans un jeu vidéo, est-ce le cas ?
si oui, ton jeux est probablement un .exe, il a donc un Handle, un IDentifiant. (mot clés à chercher dans le forum).
il faut donc que ton programme détecte cet exe et active le mode "turbo" lorsque le jeu est en marche.
(un peu comme les programmes de triches)

---edit----
J'avais commencé ce topic avant le code de LSI ^^ j'ai mangé entre temps ;)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Souris turbo

Message par SPH »

Moi j'ai pas compris l'idee !

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Souris turbo

Message par Backup »

j'avais fait un prg qui fait ça, il y a.... un bout de temps

http://www.purebasic.fr/french/viewtopi ... iche+flash

;)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Souris turbo

Message par dayvid »

J'ai l'impression que tu veux escalader l'everest en chausson...
J'ai l'impression que tu souhaites ce genre de programme pour te faciliter la vie dans un jeu vidéo, est-ce le cas ?
si oui, ton jeux est probablement un .exe, il a donc un Handle, un IDentifiant. (mot clés à chercher dans le forum).
il faut donc que ton programme détecte cet exe et active le mode "turbo" lorsque le jeu est en marche.
(un peu comme les programmes de triches)
Bin V'oui c'est ça Ar'S lol

J'ai continuer pour améliorer le code
Correction faite:

Code : Tout sélectionner

; Crée par monsieur dieppedalle david le dimenche 26 janvier 2012

TempsAttenteAventRepetition = 500 ; C'est le temps d'attente qu'il y a quand ont clique sur le bouton "CliquePersonnaliser$" de la souris avent que la répétitrion automatique ne se mette en marche
TempsDeRepetition = 200 ; Ici, c'est la fréquence de répétition entre chaque clique Appuiyez et non Appuiyez
CliquePersonnaliser$ = "Clique gauche" ; Ici c'est le bouton "CliquePersonnaliser$", les valeurs possible sont:

; "Clique gauche"
; "Clique droit"
; "Clique centre"

; Non pris en charge actuellement > "Clique Précédent"
; Non pris en charge actuellement > "Clique Suivent"

;{ Aide GetMouseKeyPressed
;---------------------------------------------------------------Pour la souris:-----------------------------------------------------------------------------------------------------

; Le Mode peut être entre 1 et 5, sinon si différent de 1, 2, 3, 4 ou 5,  le mode 1 sera appliquer par défaut
;
; 1 = Renvoie uniquement le nom du clique presser (Mode par défaut)
; 2 = Renvoie le nom ainsi que le code du clique presser
; 3 = Renvoie le nom ainsi que le code du clique presser sous la forme Hexa
; 4 = Renvoie uniquement le code du clique presser
; 5 = Renvoie uniquement le code du clique presser mais sous la forme Hexa

;} Syntaxe:  Clique_Souris$ = GetMouseKeyPressed(Mode)

Procedure.s GetMouseKeyPressed(Mode)
  
  For Clique = 1 To 6
    Cle_Clique = GetAsyncKeyState_(Clique)
    
    If Cle_Clique = 32768
      
      If Clique = 1
        Clique$ = "Clique gauche"
        
      ElseIf Clique = 2
        Clique$ = "Clique droit"
        
      ElseIf Clique = 4
        Clique$ = "Clique centre"
        
      ElseIf Clique = 5
        Clique$ = "Clique Précédent"
        
      ElseIf Clique = 6
        Clique$ = "Clique Suivent"
        
      Else
        Clique$ = "inconnue"
      EndIf
      
      If Mode = 1
        Clique_Souris$ = Clique$
        
      ElseIf Mode = 2
        Clique_Souris$ = Clique$ + " | " + Str(Clique)
        
      ElseIf Mode = 3
        Clique_Souris$ = Clique$ + " | " + "$" + RSet(Hex(Clique), 2, "0")
        
      ElseIf Mode = 4
        Clique_Souris$ = Str(Clique)
        
      ElseIf Mode = 5
        Clique_Souris$ = "$" + RSet(Hex(Clique), 2, "0")
        
      Else
        Clique_Souris$ = Clique$
      EndIf
      
    EndIf
    
  Next
  
  ProcedureReturn Clique_Souris$
EndProcedure

#EvenementSouris_MOVE = $1 ; Faire légèrement bouger la souris
#EvenementSouris_ABSOLUTE = $8000 ; Stoper le mouvement de la souris
#EvenementSouris_LEFTDOWN = $2 ; Bouton gauche souris appuiyer
#EvenementSouris_LEFTUP = $4 ; Bouton gauche souris non appuiyer
#EvenementSouris_RIGHTUP = $10 ; Bouton droit souris appuiyer
#EvenementSouris_RIGHTDOWN = $8 ; Bouton droit souris non appuiyer
#EvenementSouris_MIDDLEDOWN = $20 ; Bouton millieu souris appuiyer
#EvenementSouris_MIDDLEUP = $40 ; Bouton millieu souris non appuiyer

; Valeur manquante pour le clique suivent et précédent !

; #EvenementSouris_BACKDOWN = ?
; #EvenementSouris_BACKUP = ?
; #EvenementSouris_NEXTDOWN = ?
; #EvenementSouris_NEXTUP = ?

; Pris dans CodeArchive
Procedure EvenementSouris(Mode.l)
  Mem.l = GlobalAlloc_(0, 8) 
  GetCursorPos_(Mem) 
  mouse_event_(Mode | #EvenementSouris_ABSOLUTE, PeekL(Mem) * ($FFFF / GetSystemMetrics_(0)), PeekL(Mem + 4) * ($FFFF / GetSystemMetrics_(1)),0, GetMessageExtraInfo_()) 
  GlobalFree_(Mem) 
EndProcedure 

Repeat ; Départ des évènements de boucle
  
  EventType = EventType() ; Le type d'évènement qui c'est produis sur le gadget
  CliqueSouris$ = GetMouseKeyPressed(1) ; Je recupère le bouton appuiyer actuellement de la souris
  
  ; Ici ont va sauvegarder le clique de la souris
  If SauvegardeClique$ <> CliqueSouris$
    SauvegardeClique$ = CliqueSouris$
    Repetition = 0 ; Ont réinitialise le compteur de répétition
  Else
    
  EndIf
  
  If CliqueSouris$ = CliquePersonnaliser$
    Clique + 1 ; Le bouton "CliquePersonnaliser$" de la souris est appuiyer
    
    If Clique = 1 ; Si Le bouton "CliquePersonnaliser$" de la souris vient tous juste d'être appuiyer
      
      Repeat ; Ont va répété...
        
        CliqueSouris$ = GetMouseKeyPressed(1) ; Je recupère le bouton appuiyer actuellement de la souris pour voir si pendent le temps d'attente, celui-ci est toujour appuiyer
        
        If CliqueSouris$ <> CliquePersonnaliser$ ; Si celui-ci n'est plus appuiyer
          Break ; Ont quitte la boucle d'attente
        EndIf
        
        ; Sinon ont continue la boucle d'attente:
        
        Delay(1) ; Attend 1 MilliSeconde !
        Temps + 1 ; Ingrémentatioin du temps de 1
        
      Until Temps = TempsAttenteAventRepetition ; Jusqu'à ce que le temps soit écouler
      
      Temps = 0
      
    EndIf
    
    If Clique > TempsDeRepetition ; Si le bouton "CliquePersonnaliser$" de la souris est toujour appuiyer au bout de X passage soit X MilliSecondes
      
      ; Ici ont va simuler un clique souris sur le bouton "CliquePersonnaliser$" complet puis ont restera le bouton appuiyez
      
      If CliquePersonnaliser$ = "Clique gauche"
        EvenementSouris(#EvenementSouris_LEFTDOWN) ; Appuiyez
        EvenementSouris(#EvenementSouris_LEFTUP)   ; Non Appuiyez
        EvenementSouris(#EvenementSouris_LEFTDOWN) ; Appuiyez
        
      ElseIf CliquePersonnaliser$ = "Clique droit"
        EvenementSouris(#EvenementSouris_RIGHTDOWN) ; Appuiyez
        EvenementSouris(#EvenementSouris_RIGHTUP)   ; Non Appuiyez
        EvenementSouris(#EvenementSouris_RIGHTDOWN) ; Appuiyez
        
      ElseIf CliquePersonnaliser$ = "Clique centre"
        EvenementSouris(#EvenementSouris_MIDDLEDOWN) ; Appuiyez
        EvenementSouris(#EvenementSouris_MIDDLEUP)   ; Non Appuiyez
        EvenementSouris(#EvenementSouris_MIDDLEDOWN) ; Appuiyez
        
;       ElseIf CliquePersonnaliser$ = "Clique Précédent"
;         EvenementSouris(#EvenementSouris_BACKDOWN) ; Appuiyez
;         EvenementSouris(#EvenementSouris_BACKUP)   ; Non Appuiyez
;         EvenementSouris(#EvenementSouris_BACKDOWN) ; Appuiyez
;         
;       ElseIf CliquePersonnaliser$ = "Clique Suivent"
;         EvenementSouris(#EvenementSouris_NEXTDOWN) ; Appuiyez
;         EvenementSouris(#EvenementSouris_NEXTUP)   ; Non Appuiyez
;         EvenementSouris(#EvenementSouris_NEXTDOWN) ; Appuiyez
        
      EndIf
      
      Clique = 2 ; Ici je réinitialise la variable avec la valeur 2 pour ne pas encore "Attendre un petit momment avent d'enclencher la répétition automatique"
      
      Delay(1) ; Attent 1 MilliSecondes avent de continuer
      
    Else
      
    EndIf
    
  Else
    
    ; Ici sa sert a chaque fois que rien ne se passe, et surtout des qu'on relache le bouton "CliquePersonnaliser$" de la souris pour réinitialiser le temps d'attente avent la répétition automatique
    If Repetition < 2
      Repetition + 1
    ElseIf Repetition > 1 And Clique <> 0
      Clique = 0 ; C'est ici qu'on réinitialise la variable "clique" pour le temps d'attente avent la répétition automatique
    EndIf
    
  EndIf
  
  Delay(1) ; Attend 1 MilliSecondes avent de continuer si rien ne se passe histoire de ne pas monopoliser tous le temps du processeur
  
Until Fin = 1

Cependent j'aurais besoin d'un ch'ti coup de main pour le finir :)
J'aimerais savoir aussi comment simuler un déplacement de souris ?

Merci pour votre aide :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Souris turbo

Message par Backup »

dayvid a écrit : J'aimerais savoir aussi comment simuler un déplacement de souris ?

Merci pour votre aide :)
he ho ! il y avait une rubrique Tuto a l’époque sur ce Forum , elle doit bien toujours exister non ?

t'a un prg dans le tuto sur la souris qui fait ça ;)

ici :
http://www.purebasic.fr/french/viewtopi ... =21&t=6664
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Souris turbo

Message par dayvid »

C'est marent sa car je l'es regarder mais je n'est rien trouver :?
T'es sur dobro !

Cependent se serais bien si ont pouvais partager un peut nos diverses connaissances sur ce thème :)
j'ai laisser ça de coté car je ne peut pas continuer, je n'est pas ce qu'il me faut mais si quelqu'un veut m'aider il est le bienvenue :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Souris turbo

Message par Backup »

dayvid a écrit :C'est marent sa car je l'es regarder mais je n'est rien trouver :?
T'es sur dobro !
:roll:
ici :
http://www.purebasic.fr/french/viewtopi ... =21&t=6664
le TUTO numero 5 section débutant intitulé LA SOURIS

si tu prends la peine de cliquer dessus :
ça t’amène là : http://www.purebasic.fr/french/viewtopic.php?t=1310

et si tu scroll avec la molette de ta souris jusqu'au listing numero 8
qui a le titre : pilotage automatique de la souris !!

tu trouvera le listing suivant :

Code : Tout sélectionner

n=1500

Dim Pos.POINT(n)

MessageRequester("CursorPos","apres avoir confirmé ce bouton, Bougez la souris pdt quelques secondes")

For i=0 To n   
    GetCursorPos_(Pos(i))
    Delay(1)
Next

MessageRequester("CursorPos","Replay")

For i=0 To n   
    SetCursorPos_(Pos(i)\x,Pos(i)\y)
    Delay(1)
Next
;EPB
l'utilisation est simple , tu confirme le premier bouton [ok]
puis tu bouge ta souris jusqu'a l'apparition de la deuxieme boite qui te propose le Replay !!

lorsque tu cliquera sur Replay , tu verra alors le curseur de ta souris se deplacer tout seul !!
ce qui répond a ta demande concernant le pilotage de la souris !
dayvid a écrit : J'aimerais savoir aussi comment simuler un déplacement de souris ?



ps : si tu n'arrive pas a trouver les codes , lorsqu'il sont présent
je te conseil de passer a autre chose ;)
dayvid a écrit : Cependent se serais bien si ont pouvais partager un peut nos diverses connaissances sur ce thème
tu veux dire que tu as des connaissances sur ce themes a partager ?
ou bien tu veux que nous , nous partagions les nôtres .. :lol:
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Souris turbo

Message par dayvid »

Oups :oops:

Quel andouille que je suis :lol:

Merci Dobro

Pourrais-tu si tu as le temps regarder mon code et compléter ce qui manque :)
histoire que je puisse terminer ce code quoi et pondre un PRG

En tous qu'a merci beaucoup car tu m'as bien aider, comment souvent d'ailleurs :)
tu as beaucoup de connaissance en pure basic et c'est très aimable a toi de nous aider :wink:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Souris turbo

Message par Backup »

dayvid a écrit : Pourrais-tu si tu as le temps regarder mon code et compléter ce qui manque
non , je n'aurai pas le temps Sorry ! ;)
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Souris turbo

Message par dayvid »

Pas grave, merci quand même dobro :)

Est-ce que quelqu'un pourrais juste au moins m'aider a compléter ce qui me manque :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Répondre