Je dois définir la position de la souris sur l'écran. Dans une autre question similaire, il a été suggéré d'utiliser CGDisplayMoveCursorToPoint(CGDirectDisplayID display, CGPoint point)
, mais je ne peux pas comprendre comment obtenir le CGDirectDisplayID
. S'il vous plaît dites-moi comment obtenir le CGDirectDisplayID
ou une méthode différente pour définir la position de la souris.Comment puis-je définir la position de la souris?
2
A
Répondre
1
Voici une façon de le faire:
// coordinate at (10,10) on the screen
CGPoint pt;
pt.x = 10;
pt.y = 10;
CGEventRef moveEvent = CGEventCreateMouseEvent(
NULL, // NULL to create a new event
kCGEventMouseMoved, // what type of event (move)
pt, // screen coordinate for the event
kCGMouseButtonLeft // irrelevant for a move event
);
// post the event and cleanup
CGEventPost(kCGSessionEventTap, moveEvent);
CFRelease(moveEvent);
Ceci déplacera le curseur sur le point (10,10) à l'écran (le haut à gauche, à côté du menu Pomme).
1
Essayez CGWarpMouseCursorPosition()
. Il ne nécessite pas d'identifiant d'affichage.
Si vous voulez un ID d'affichage, vous pouvez choisir un élément, en utilisant les critères que vous voulez, dans le tableau renvoyé par [NSScreen screens]
. Appelez -deviceDescription
sur cet objet NSScreen
. Dans le dictionnaire renvoyé, appelez -objectForKey:
avec la clé @"NSScreenNumber"
.
0
La vraie réponse à cette question est la suivante:
CGMainDisplayID()
CGDisplayMoveCursorToPoint(CGMainDisplayID(), point);
1
est ici une version Swift, juste pour le plaisir:
let pt = CGPoint(x: 100, y: 10)
let moveEvent = CGEventCreateMouseEvent(nil, .MouseMoved, pt, .Left)
CGEventPost(.CGSessionEventTap, moveEvent);
0
Swift 3 version de la réponse que m'a aidé:
let pt = CGPoint(x: 100, y: 10)
let moveEvent = CGEvent(mouseEventSource: nil, mouseType: .mouseMoved,
mouseCursorPosition: pt, mouseButton: .left)
moveEvent?.post(tap: .cgSessionEventTap)
Questions connexes
- 1. Comment définir la position de la souris en Java?
- 2. Jquery définir div à la position de la souris
- 3. Comment obtenir la position de la souris?
- 4. Définir la position de l'élément de l'interface utilisateur à la position de la souris
- 5. jQuery Définir la position de la souris (pas la position du curseur)
- 6. Comment définir la position
- 7. Position de départ de la souris Javascript
- 8. Position multiple de la souris
- 9. Toile position de la souris
- 10. position de la souris (Cursor.Position)
- 11. onMouseMove obtenir la position de la souris
- 12. Modification de la position de la souris
- 13. XLib Lock Position de la souris (habillage de la souris)
- 14. Obtenir la position actuelle de la souris
- 15. Afficher la position de la souris
- 16. compte de la position de la souris
- 17. Réglage de la position de la souris
- 18. Récupération de la position de la souris
- 19. Bizarrerie de la position de la souris
- 20. div Position à la souris
- 21. Animer la souris/position tactile
- 22. Comment définir la marge à l'élément de position au niveau du curseur de la souris
- 23. Comment définir la position de la souris sur 0,0 au centre de l'élément?
- 24. Position de la chaîne à la souris?
- 25. Puis-je définir la position de richtextbox?
- 26. Comment déplacer un objet de la position de départ à la position finale sur la souris puis sur la souris
- 27. Comment puis-je définir la position de la fenêtre?
- 28. Comment faire pour définir la position de la souris sans importer user32.dll dans wpf
- 29. Java position de la souris sur l'écran
- 30. KineticJS position de la souris de l'image
Ne fonctionne pas. Pour une raison quelconque, il définit correctement le x de la souris, mais si j'essaie de changer le Y, il scintille entre le haut et le bas de l'écran. Même si j'utilise la position actuelle de la souris. –
Je l'ai juste essayé avec une variété de valeurs 'x' et' y', et il est passé à chacun d'entre eux. Publiez-vous d'autres événements ou modifiez-vous celui-ci d'une autre manière avant de le poster? –