Получить MainMenu другого запущенного приложения, кроме основного приложения - PullRequest
1 голос
/ 10 февраля 2012

Я знаю, что вопрос немного запутанный, но позвольте мне объяснить ...

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

NSMenu *mainMenu = [[NSApplication sharedApplication] mainMenu];

for (NSMenuItem *item in [mainMenu itemArray]){
    NSLog(@"%@", [item title]);
}

И я также знаю, как получить список всех запущенных приложений, используя код ниже:

[[NSWorkspace sharedWorkspace] runningApplications]

Теперь я хочу иметь возможность получить основное меню определенного приложения в sharedWorkspace.

Возможно ли это? .. Если да, пожалуйста, поделитесь :) Спасибо!

1 Ответ

3 голосов
/ 10 февраля 2012

Вам необходимо использовать Accessibility API, чтобы получить доступ к элементам GUI другого приложения. Имейте в виду, что вам (или клиентам вашего приложения) нужно будет включить « Включить доступ для вспомогательных устройств » в системной настройке Universal Access .

Для начала см. Иерархия доступности .

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