Comment récupérer la molette de la souris quand l'application n'a pas le focus ?

ponduboulga Messages postés 4 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 6 janvier 2006 - 5 janv. 2006 à 21:30
ponduboulga Messages postés 4 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 6 janvier 2006 - 6 janv. 2006 à 15:53
Avez-vous une idée ou une piste pour récupérer un évènement provenant
de la molette de la souris, et ce, que l'application aie ou pas le
focus (je voudrais faire une application qui tourne en background).



Je sais récupérer les évènements de la molette quand mon application
est active (API CallWindowProc), mais la technique devient complètement
inexploitable dans un cadre plus générique.



Je pense qu'on peut créer un processus... une sorte de callback qui
envoi un event à mon application quand la molette tourne, mais là je
n'y arrive plus... (j'essaie d'utiliser l'API PeekMessage)



Si vous avez la moindre idée... ca m'interresse !!!

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 janv. 2006 à 22:06
salut,

oui, va voir ma source LES VACANCES DE M. MULOT, tu y trouveras un exemple concret

PCPT [AFCK]
0
ponduboulga Messages postés 4 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 6 janvier 2006
6 janv. 2006 à 15:24
Et oui, mais non... quand ton application perd le focus, le subclassing semble ne plus fonctionner correctement. En revanche le code de subclassing est drolement propre, j'adore !



Sinon, dans le même optique, existe-t-il une sorte de registre système
qui s'incrémente/décrémente quand on bouge la molette (comme pour la
position du pointeur par ex.)... je pourrais en effet vérifier ce
"registre" avec un Timer... ce serait une solution "petite semaine" à
mon problème, mais a défaut de mieux (le problème, c qu'un mouvement de
molette c comme un clic, c trés ephémère)...



Je vais continuer à fouiner... je vais essayer de généraliser la
routine de récupération des évènements (qui semble ne prendre en compte
que les évènements provenant de l'application (j'va bidouiller hwnd, ca
va pas trainer ).
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 janv. 2006 à 15:42
"sorte de registre pour molette", non. c'est certain.

par contre tu peux éventuellement "hooker" la souris plutôt que de subclasser la Form...

là tu devrais récupérer ton évènement même sans focus.....

(tape "hook souris")
0
ponduboulga Messages postés 4 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 6 janvier 2006
6 janv. 2006 à 15:53
J'avais déjà vu les hook dans un programme, mais c'était vraiment trop difficile de comprendre comment ca marche avec seulement le code. Je n'avais pas pigé l'intérêt direct de la chose...

Je vais m'y pencher trés sérieusement... je te dirais le résultat ;)

Merci du tuyau !
0
Rejoignez-nous