Как получить текущий eventNumber для создания события с NSEvent - PullRequest
1 голос
/ 18 апреля 2010

Здравствуйте, я создаю приложение для OS X, для которого я пытаюсь добавить удаленный интерфейс. Для этого мне нужно иметь возможность отправлять команды мыши и мыши вверх в окно моего приложения.

Я нашел код, с помощью которого я могу успешно это сделать, он выглядит следующим образом:

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];

У меня только одна проблема с этим кодом, и это параметр eventNumer. Насколько я узнал, это число увеличивается с каждым событием. Но я не могу найти способ найти текущее число, с которого мне нужно увеличиваться. Число, которое я использую там в настоящее время, - просто попытка и ошибка, и оно не всегда работает.

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

Попробуйте просто использовать 0 для eventNumber.

0 голосов
/ 18 апреля 2010

Похоже, что счетчик событий - это просто серийный номер, поэтому он начинается с 0 (плюс 42599) и увеличивается на единицу перед созданием каждого события. Вам просто нужно повесить на последнее значение.

Я не пробовал это для себя, но похоже, что номер не имеет значения, поскольку каждый раз это новый номер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...