Si vous pouvez obtenir le bitmap du curseur, vous pouvez comparer facilement avec le bitmap standard pour les curseurs système connus. Il suffit de vérifier et de voir si elles ont les mêmes dimensions - si elles le sont, faites une boucle sur les pixels et quittez si elles ne sont pas égales. Si vous êtes capable de parcourir l'intégralité du bitmap et que tous les pixels correspondent, vous savez que vous avez deux curseurs identiques. Sont généralement Curseurs quelque chose comme 24x24 donc cela ne devrait pas être un énorme problème de performance - il pourrait être un moyen plus rapide de comparer l'égalité des bitmaps, mais c'est une autre question que vous pourriez poser.
Il y a quelques problèmes possibles avec cette approche:
- curseur peut être un curseur personnalisé (pensez outils de Photoshop)
- curseur peut être animé
- curseur peut changer rapidement car il se déplace sur l'écran
En tant qu'addendum, qu'espérez-vous accomplir avec ce processus? Il est très probable qu'il existe une approche complètement orthogonale que vous n'auriez peut-être pas envisagée.
Pour clarifier: Vous voulez être en mesure de déterminer ce que le curseur de l'utilisateur. peu importe où c'est? Vous pourriez rencontrer des problèmes quand un autre programme utilise un curseur personnalisé. –
Ah, voilà pourquoi il n'y a probablement pas d'informations de type de curseur disponible avec Cursor.Current ou GetCursorInfo(). Bon point! Le moins, vous pourriez prendre le bitmap actuel et les comparer aux bitmaps connus de curseur alors? Comment? Oui, cela devrait fonctionner quel que soit l'endroit où se trouve le curseur de l'utilisateur. –