Мне нужно иметь возможность реализовать методы, предотвращающие это:
На Mac я использую XCode, но, похоже, не могу понять код для выполнения этих действий.
Может кто-нибудь помочь мне здесь?
Iнашел это: http://developer.apple.com/library/mac/#qa/qa1134/_index.html
но я не могу понять, как блокировать системные события, когда они запускаются.
Спасибо
В Диспетчере приложений Carbon есть API SetSystemUIMode, который позволяет вам управлять (отключать) такими вещами, как принудительное завершение, окно с ключом питания и т. Д. Он предназначен для приложений в стиле киоска и описан в эта техническая заметка .
SetSystemUIMode
Отключение режима сна, заставки и т. Д. Выполняется путем периодического вызова UpdateSystemActivity.См. этот технический Q & A .
UpdateSystemActivity
Самый простой и эффективный способ запретить Apple OSX - это команда терминала:
$ pmset noidle Preventing idle sleep (^C to exit)...
Единственная неприятная вещь, может быть, пользователь сам должен завершить это вручную, выдав Control-C..