en gros je souhaite savoir simplement si le mouvement du curseur est naturel (mouvement de la souris) ou si il provient d'un logiciel tiers.
Dans ce cas je ne vois qu'une solution, mais c'est potentiellement compliqué: intercepter les appels à SetCursorPos, une des principales fonctions qui permettent de « téléporter » le curseur.
Mais vu que ça se passe dans user32.dll, ton programme sera direct classé comme dangereux à moins d'avoir des autorisations comparables à celles des anti-virus.
Ou alors tu t'amuses avec le driver ou la couche basse, mais bonne chance.
Plus simple, tu peux tenter ta chance avec un hook WH_MOUSE_LL, mais ce n'est pas garanti qu'un appel à une fonction SetCursorPos appelle effectivement ton hook (il faut essayer).
Là encore il y a toutes les chances pour que ton logiciel soit catégorisé comme malveillant, puisque c'est ce qui s'utilise typiquement pour les keyloggers/mouseloggers.
Par contre moi non plus je ne vois pas trop où tu veux en venir.
- Si tu cherches à confiner le curseur dans une zone bien définie (par exemple pour éviter de sortir par inadvertance de la fenêtre d'un jeu qui n'est pas en plein écran), il y a la fonction ClipCursor
- Si tu cherches à faire comme dans un FPS où tu peux bouger la souris à l'infini sans être gêné par les bords de l'écran, je ne sais pas comment ils font mais c'est possible en natif (probablement avec un framework comme unity) ou sur le web (voir pointer lock API)
- Si la « téléportation » du curseur comme dans certaines boîtes de dialogue te gêne, ça se paramètre très probablement dans le panneau de configuration.
Avec ça je crois qu'on a fait le tour et je ne peux qu'approuver les réponses précédentes, essaie de mieux nous expliquer ce que tu veux réellement faire.