Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2509 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [Win32] Capturer les mouvements de la souris

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Win32] Capturer les mouvements de la souris

n°889152
oliv5
Pourquoi ? Parce que !
Posté le 03-11-2004 à 03:21:23  profilanswer
 

Salut à tous.
 
Je fais une petite appli en C Win32, et j'ai besoin de capturer le mouvement de la souris, lorsque l'utilisateur maintien une touche appuyée (ctrl).
 
J'ai fouillé dans l'api, et je n'ai déniché que SetCapture qui permet de faire ce que je veux mais uniquement si on maintien le bouton gauche enfoncé en permanance, ce qui ne me convient qu'à moitié (c'est bizarre à l'utilisation).
 
J'ai également cherché du coté des hooks bas niveau mais je n'ai trouvé qu'une solution pour capturer les appuies sur les boutons mais pas le déplacement de la souris...
 
L'un d'entre-vous aurait-il déjà fait cela, à savoir, capturer les mvts de la souris, sans effectuer d'opérations supplémentaires, et quelque soit la position de la souris (dans/hors de la fenetre active) ?

mood
Publicité
Posté le 03-11-2004 à 03:21:23  profilanswer
 

n°889186
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-11-2004 à 08:56:58  profilanswer
 

SetCapture() ne capture pas les mouvements de la souris, il permet juste de spécifier une fenêtre qui "attrapera" la souris !
Si tu veux capturer la souris, tu dois réagir au message WM_MOUSEMOVE, qui te permet de plus de vérifier si une touche est enfoncée, dont le code est stocké dans wParam (MK_CONTROL pour la touche ctrl)


Message édité par Harkonnen le 03-11-2004 à 08:57:14

---------------
J'ai un string dans l'array (Paris Hilton)
n°889329
couak
Posté le 03-11-2004 à 11:45:36  profilanswer
 

oliv5... une connaissance qu'on retrouve sur des forums =)

n°889570
oliv5
Pourquoi ? Parce que !
Posté le 03-11-2004 à 15:58:58  profilanswer
 

Harkonnen a écrit :

SetCapture() ne capture pas les mouvements de la souris, il permet juste de spécifier une fenêtre qui "attrapera" la souris !
Si tu veux capturer la souris, tu dois réagir au message WM_MOUSEMOVE, qui te permet de plus de vérifier si une touche est enfoncée, dont le code est stocké dans wParam (MK_CONTROL pour la touche ctrl)


 
Merci, mais ca je le sais déjà (bein oui, c en gros dans la MSDN)
 
Avec setcapture, la fenetre choisie recoit les evenement WM_MOUSEMOVE, c'est ce que je souhaite.
 
Mais ...
 
1) SetCapture m'oblige a appuyer sur le bouton gauche de la souris pour que la capture se continue (si on lache, ca s'arrete) : pas top
 
2) Si je n'utilise pas SetCapture, je ne capte les messages WM_MOUSEMOVE , et donc le mvt de ma souris, que dans de la fenetre active. Or, moi, je veux capturer son déplacement meme si elle se déplace par dessus le bureau ou une autre appli. L'utilisateur doit pouvoir par exemple réduire la fenetre principale de mon appli et continuer a voir la souris capturée.
 
Principe de la fonctionnalité que je veux faire dans mon appli : enregistrer les actions souris pour les rejouer plus tard et automatiser certaines taches dans des softs pas prévus pour. J'ai déjà fait ca pour le clavier.  
L'utilisateur appuie sur ctrl, puis effectue un certain nombre de mouvements avec la souris, clics gauche, droit centre, roulette (:)).  
Il est vital que les actions effectuées par la souris soient effectuées directement sur les fenetres des applis qui ne sont pas automatisées.


Message édité par oliv5 le 03-11-2004 à 16:07:20
n°889571
oliv5
Pourquoi ? Parce que !
Posté le 03-11-2004 à 16:00:18  profilanswer
 

couak a écrit :

oliv5... une connaissance qu'on retrouve sur des forums =)


 
couak... c'est pourquoi je vais sur les forums =)
 
Vous n'avez pas compris ... ce n'est pas une simple capture de souris que je veux faire... (voir au dessus).

n°889583
couak
Posté le 03-11-2004 à 16:12:33  profilanswer
 

oliv5 a écrit :

couak... c'est pourquoi je vais sur les forums =)
 
Vous n'avez pas compris ... ce n'est pas une simple capture de souris que je veux faire... (voir au dessus).


la connaissance... je parlais de toi, banane ! t'en connais beaucoup des couak qui sortent de l'esiea ?

n°889588
oliv5
Pourquoi ? Parce que !
Posté le 03-11-2004 à 16:16:37  profilanswer
 

couak a écrit :

la connaissance... je parlais de toi, banane ! t'en connais beaucoup des couak qui sortent de l'esiea ?


 
Ha euh  :D  salut couak :) (pkoi tu reprends pas ton ancien seudo ?)


Message édité par oliv5 le 03-11-2004 à 16:18:56
n°889591
couak
Posté le 03-11-2004 à 16:19:49  profilanswer
 

pour passer incognito sur les forums et me foutre de la gueule de gens que je connais (comme toi par exemple) :D

n°889596
oliv5
Pourquoi ? Parce que !
Posté le 03-11-2004 à 16:25:35  profilanswer
 

Stop polluer mon post alors, ca va faire peur aux gens qui pourraient me répondre :)

n°890327
oliv5
Pourquoi ? Parce que !
Posté le 04-11-2004 à 16:12:36  profilanswer
 

up :(

mood
Publicité
Posté le 04-11-2004 à 16:12:36  profilanswer
 

n°890338
HelloWorld
Salut tout le monde!
Posté le 04-11-2004 à 16:26:52  profilanswer
 

Hook sur souris...
ici c'est bien expliqué, et en plus le programme qui illustre le truc est bien trouvé
http://www.codeproject.com/dll/hooks.asp
http://www.codeproject.com/dll/#Hooks


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°890567
oliv5
Pourquoi ? Parce que !
Posté le 04-11-2004 à 19:58:20  profilanswer
 

j'ai déjà essayé, ce qui est étonnant c'est que quand je met un hook sur la souris, je ne recoit pas le msg WM_MOUSEMOVE.
Pourtant dans l'exemple, c'est bien celui la qu'il recoit et teste, en plus du msg WM_NCMOUSEMOVE que je ne connais pas.
 
je vais essayer de compiler cet exemple.
En tout cas, merci.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [Win32] Capturer les mouvements de la souris

 

Sujets relatifs
afficher quelque chose au passage de la sourisCoordonnées souris OpenGL
Convertion Win32 Epochgcc win32...
Installation PYTHON win32 + BOA pour les nulls ...Win32 API : Lire la charge CPU [Résolu]
Access, affichage au passage de la souris[Perl] Serveur RPC non disponible pour Win32::OLE.
Position de la souris quand on clique...[Flash MX] Capturer en tant qu'image
Plus de sujets relatifs à : [Win32] Capturer les mouvements de la souris


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)