Отключить Cmd-Opt-Escape в полноэкранном приложении

Я использую:

    if (CGCaptureAllDisplays() != kCGErrorSuccess) {

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

Как я могу остановить это поведение?


person JeremyLaurenson    schedule 25.02.2013    source источник


Ответы (1)


Я считаю, что вам нужна среда киоска; см. Техническое примечание Apple TN2062: Создание киосков.

В частности, вы захотите использовать -[NSApplication setPresentationOptions:]; см. NSApplicationPresentationOptions здесь для возможных значений.

person echristopherson    schedule 25.02.2013
comment
Я использую CGCaptureAllDisplays(); и Приложение является агентом (UIElement): ДА, что, похоже, не поддерживает это, или создание EventTap - person JeremyLaurenson; 26.02.2013
comment
Я возился с этим часами и не могу заставить setPresentationOptions остановить работу управления миссией при запуске вне XCode. У любого есть рабочий код, который программно создает полноэкранный экран блокировки NSWindow, который блокирует рабочий стол, другие приложения и т. д., с помощью простой кнопки, которая затем закрывает его при нажатии. - person JeremyLaurenson; 26.02.2013
comment
Я собирался указать stackoverflow.com/questions/10660996 /lock-screen-on-mac-app, но, похоже, вы его уже нашли. Если это не сработает, у меня закончились идеи. - person echristopherson; 26.02.2013