Vous parlez de la création d'un crochet système (appel API Windows SetWindowsHookEx avec WM_MOUSE ou WM_MOUSELL). Ce ne sont pas pour les faibles de cœur. Faire cela pour un seul processus que vous possédez est un peu difficile. Le faire à l'échelle du système (pour les processus que vous ne possédez pas) est vraiment, vraiment difficile - beaucoup d'embûches (je suis sûr que j'ai touché chacun d'entre eux), et c'est un domaine très sous-documenté de la Win32 API.
Cela nécessitera absolument l'utilisation de l'API Windows, ainsi que des DLL, une compréhension de l'injection de DLL dans différents processus et une foule d'autres choses. Java ne va pas faire ce travail particulier (en fait, en fonction de vos spécifications, je ne peux pas imaginer pourquoi Java serait la langue de choix ici).
Il est temps de briser le C.
Non, cela nécessiterait JNI. Cependant, je ne vais pas publier cette réponse, car je n'en connais pas assez sur les API Windows. – icktoofay