Deplacer la souris [Résolu]

Signaler
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Salut,

Je sais que ce sujet a deja ete abordé mais j'ai fais plusieur recherche et je n'ai pas trouvé de réponses très claire...

Donc voila tout est dans le titre je voudrais savoir comment deplacer la souris.

merci d'avance

20 réponses

Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

C'est bon j'ai declaré les long en integer et c'est nickel merci les gens
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
j'avais bien compris.....
(si j'ai pas répondu, c'est simplement que si déjà, mon FormMouseMove t'est inconnu en VB2005, c'est pas des "vrais" codes sous VB6 qui vont t'aider. désolé)
PCPT
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
1
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Declare Function SetCursorPos& Lib "user32" (ByVal X As Long, ByVal Y As Long)

Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Const MOUSEEVENTF_WHEEL = &H80
Const MOUSEEVENTF_XDOWN = &H100
Const MOUSEEVENTF_XUP = &H200
Const WHEEL_DELTA = 120
Const XBUTTON1 = &H1
Const XBUTTON2 = &H2

Private Sub Command1_Click()
X = 30
Y = 755
'position de la souris au coordonnée X et Y
'(ici si vous êtes en 1024 x 768,cela va cliquer sur le bouton 'Démarrer' de la barre des taches)
SetCursorPos X, Y
'Le bouton gauche de la souris s'enfonce
Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0) '
'le bouton gauche de la souris se relache
Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, Me.Left, Me.Top, 0, 0)
End Sub

Hassen TUNISIE
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Salut, pourtant il y a ce qu'il faut sur le forum et dans les sources du site.

En vb6, une api dans un module :
Public Declare Function SetCursorPos Lib "user32" _
( _
ByVal X As Long, _
ByVal Y As Long _
) As Long

qu'on utilise comme ça :
Call SetCursorPos(position_x, position_y)

position_x et position_y sont en pixel. Pour une résolution de 800/600,
Call SetCursorPos(400, 300)
te met le curseur au milieu de l'écran.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

Merci mais il y a deux trois erreurs apparament sur ma version(je suis sur la beta 2005^^).Donc il me signale des erreurs a :
Private sub
X et Y
SetCursorPos(X, Y)
mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE

mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUT
Aux "me" et aux "Declare"
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Hassen > désolé, ta réponse n'était pas affichée quand j'ai posté la mienne.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
je crois qu'il faut déclarer les Long en Integer sous VB 2005
PCPT
Messages postés
338
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
4 novembre 2008
1
ca ne fait rien ca m'ai arrivé pas mal de fois

Hassen TUNISIE
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
OK, puisque c'est du vb.net, va voir de ce côté :

System.Windows.Forms.Cursor.Current.Position

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

Module Module1


Public
declare
Function SetCursorPos
Lib
"user32" (
ByVal X
As
Long, _
ByVal Y
As
Long _)
As
Long



Sub Main()



Call SetCursorPos(30, 60)



End
Sub


End
Module
Quand je met ca il signale comme erreur 60 oO
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
j'me disais aussi...
PCPT
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

Ah j'ai une autre question comment fair (cette fois dans un form) que
si la souris est a tel endroit alors elle va a tel endroit : un truc du
style

if mouse.top "" then mouse.top mouse.top +50

enfin j'imagines que c'est pas ca mais c'est pour vous donne une idée ^^
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
ouai, c'est pas çà du tout même.
là il faut capturer le mouvement de la souris, ce qui empêchera le click.
mieux vaut mettre par exemple sur la Form Mouse mouve
si X < HorsDeMaZoneMinX et X > HorsDeMaZoneMaxX pareil avec Y, et là tu la bouges.

PCPT
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

J'ai pas tout compris et puis c'est quoi mouse mouve?
Et sinon ca serait possible que sur la form non?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
le MouseMove, sur la Form (espérant que çà existe, je suis sous VB6) renvoie les coordonnées de la souris.
donc dans le déplacement, tu peux très bien choisir une zone (genre entre 50<X<100 200<Y<400).
si la souris est dans cet équart, SetCurPos (outuveux)

PCPT
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

J'ai un peu regardé et je trouve pas de mouse mouve mais bon c'est pas grave merci quand meme
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
l'évènement Form_MouseMove( Button Shift X Y) existe sous VB6. je doute qu'il n'existe pas sous 2005, c'est sans doute la syntaxe qui doit légèrement changer.
sinon, même principe, un label transparent sans caption à l'endroit voulu, et si la souris le survol, blablabla...

PCPT
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

Ok je vais laissé tomber parce que la ca me soule de trouver la bonne syntax etc...

Sinon autre question tu sais taper des touches du clavier?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
mes précédents posts sont là pour en témoigner
PCPT
Messages postés
90
Date d'inscription
dimanche 22 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2006

Héhé pas mal mais par "Sinon autre question tu sais taper des touches du clavier?"j'te demandais si tu connaissais le code pour fair taper la touche n°31(par exemple).