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