Bonjour,
Je cherche a récuperer les coordonnées de la souris quand elle est hors de mon application (sur le bureau, par exemple)
Quelqu'un peut il m'aider ?
Merci d'avance
Bonjour,
Je cherche a récuperer les coordonnées de la souris quand elle est hors de mon application (sur le bureau, par exemple)
Quelqu'un peut il m'aider ?
Merci d'avance
Bonjour
Il suffit d'utiliser la fonction GetCursorPos
Ben ça, c'est normal. Tu ne peux réceptionner que les messages de ton application. Pour recevoir les autres, il te faut passer par un hook. Pas d'autre solution, sauf à utiliser un timer pour lire les coordonnées toutes les X millisecondes. C'est pas très "propre" comme solution, mais c'est bien plus simple que le Hook.
Pas besoin de hook, pas besoin de capturer la souris non plus. GetCursorPos suffit. Exemple :
Le problème dans une application fenêtrée est que si la boucle des messages est blocante, l'application restera pratiquement bloquée jusqu'à ce qu'à ce que le focus la revienne. En effet, les événements claviers et souris ne sont notifiées qu'à l'application active. Pour ne pas être bloqué quand l'application n'a pas le focus, il faut utiliser PeekMessage au lieu de GetMessage ou encore faire appel aux threads.
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdio.h> #include <conio.h> #include <windows.h> int main() { puts("Appuyez sur une touche pour terminer."); while (!_kbhit()) { POINT cur_pos; GetCursorPos(&cur_pos); printf("(%ld, %ld)\n", cur_pos.x, cur_pos.y); Sleep(1000); } return 0; }
Partager