Bonjour Je crée une application os x pour laquelle j'essaie d'ajouter une interface distante. Pour cela, je dois pouvoir envoyer les commandes de la souris et de la souris vers la fenêtre de mon application.Comment obtenir l'eventNumber actuel pour créer un événement avec NSEvent
J'ai trouvé le code avec lequel je peux le faire avec succès, il se présente comme suit:
int mask = 0x100;
NSEvent* eventMouseDown = [NSEvent mouseEventWithType:NSLeftMouseDown
location:p
modifierFlags:mask
timestamp:[NSDate timeIntervalSinceSystemStartup]
windowNumber:[w windowNumber]
context:[NSGraphicsContext graphicsContextWithWindow:w]
eventNumber:++eventCounter +42599 clickCount:1 pressure:0];
NSLog(@"Mouse down event: %@", eventMouseDown);
[[NSApplication sharedApplication] sendEvent:eventMouseDown];
J'ai qu'un seul problème avec cette pensée de code et le paramètre est le eventNumer. Autant que je l'ai découvert c'est un nombre qui augmente avec chaque événement. Mais je ne peux pas trouver un moyen de trouver le nombre actuel d'où j'ai besoin d'augmenter. Le nombre que j'utilise là actuellement est juste essai et erreur et ne fonctionne pas toujours pour fonctionner toujours.
En quoi consiste le '42599'? –
Ceci est juste un nombre aléatoire que j'ai ajouté lors des tests. Quand j'ai écrit ce code pour la première fois, j'ai essayé avec 0 et cela ne fonctionnait pas. J'ai donc essayé d'autres numéros, et avec ce numéro, ça fonctionnait. Mais il est juste étrange et hackish d'utiliser une sorte de nombre magique ici. – Chris