Определите, доступен ли WindowServer?

NULL не ключевое слово; это - макроподстановка для 0 и прибывает в stddef.h или cstddef, я верю. Вы не имеете #included соответствующий заголовочный файл, таким образом, g ++ видит NULL как регулярное имя переменной, и Вы не объявили его.

5
задан Barry Wark 8 September 2009 в 16:51
поделиться

1 ответ

Существует переменная среды с именем SECURITYSESSIONID , которая устанавливается в loginwindow.app и передается приложениям пользователя. Переменная не устанавливается, если вы входите в систему через ssh. Он служит своего рода дескриптором для общения с оконным сервером.

Проблема: существование этой переменной не означает, что этот пользователь в настоящее время управляет оконным менеджером (подумайте о быстром переключении пользователей).

Там ' sa функция под названием CGSessionCopyCurrentDictionary в платформе ApplicationServices, которая выглядит многообещающей:

Возвращаемое значение: Словарь сеанса оконного сервера или NULL, если вызывающий объект не работает в сеансе Quartz GUI или оконном сервере выключен. Вы должны освободить словарь, когда закончите его использовать. Для получения информации о парах ключ-значение в этом словаре см. «Свойства сеанса Windows Server».

7
ответ дан 14 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: