NULL
не ключевое слово; это - макроподстановка для 0 и прибывает в stddef.h
или cstddef
, я верю. Вы не имеете #included
соответствующий заголовочный файл, таким образом, g ++ видит NULL
как регулярное имя переменной, и Вы не объявили его.
Существует переменная среды с именем SECURITYSESSIONID
, которая устанавливается в loginwindow.app и передается приложениям пользователя. Переменная не устанавливается, если вы входите в систему через ssh. Он служит своего рода дескриптором для общения с оконным сервером.
Проблема: существование этой переменной не означает, что этот пользователь в настоящее время управляет оконным менеджером (подумайте о быстром переключении пользователей).
Там ' sa функция под названием CGSessionCopyCurrentDictionary
в платформе ApplicationServices, которая выглядит многообещающей:
Возвращаемое значение: Словарь сеанса оконного сервера или NULL, если вызывающий объект не работает в сеансе Quartz GUI или оконном сервере выключен. Вы должны освободить словарь, когда закончите его использовать. Для получения информации о парах ключ-значение в этом словаре см. «Свойства сеанса Windows Server».