Page 1 sur 2

Souris turbo

Publié : ven. 20/janv./2012 16:06
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 :)

Re: Souris turbo

Publié : ven. 20/janv./2012 16:14
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

Re: Souris turbo

Publié : ven. 20/janv./2012 20:29
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)

Re: Souris turbo

Publié : mer. 25/janv./2012 14:17
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

Re: Souris turbo

Publié : mer. 25/janv./2012 21:03
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

Re: Souris turbo

Publié : mer. 25/janv./2012 21:08
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 ;)

Re: Souris turbo

Publié : mer. 25/janv./2012 21:30
par SPH
Moi j'ai pas compris l'idee !

Re: Souris turbo

Publié : jeu. 26/janv./2012 1:26
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

;)

Re: Souris turbo

Publié : sam. 28/janv./2012 14:07
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 :)

Re: Souris turbo

Publié : sam. 28/janv./2012 14:16
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

Re: Souris turbo

Publié : mer. 01/févr./2012 14:21
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 :)

Re: Souris turbo

Publié : mer. 01/févr./2012 15:43
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:

Re: Souris turbo

Publié : mer. 01/févr./2012 16:54
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:

Re: Souris turbo

Publié : mer. 01/févr./2012 18:23
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 ! ;)

Re: Souris turbo

Publié : ven. 03/févr./2012 13:56
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 :)