Mac Какао Как прокрутить другое приложение, которое под видом? - PullRequest
0 голосов
/ 09 июля 2019

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

  1. Игнорировать темный вид MyApp?

или

  1. Отправить событие в другие приложения в MyApp?
 -(void)scrollWheel:(NSEvent *)theEvent {
    NSLog(@"user scrolled %f horizontally and %f vertically", [theEvent deltaX], [theEvent deltaY]);
}

Отредактировано:

Нашел способ получить pid приложения и, следуя указаниям @ Willeke, написать следующий код, но не работает.

-(void)scrollWheel:(NSEvent *)theEvent {
    [super scrollWheel:theEvent];

    CGEventRef wheelevent = CGEventCreateScrollWheelEvent(NULL, kCGScrollEventUnitLine, 1, theEvent.deltaY, theEvent.deltaX);

    // AppPid is gotten before mouse wheel scrolls
    CGEventPostToPid(AppPid, wheelevent);

    CFRelease(wheelevent);
}
...