Обнаружение экрана блокировки на Mac через Python3 - PullRequest
0 голосов
/ 11 октября 2018

Пытаясь найти способ определить, заблокирован ли экран в системе Mac, с помощью Python3

Я попробовал следующее, и он выдает KeyError:

import Quartz
gui_dict = Quartz.CGSessionCopyCurrentDictionary()
print(gui_dict['CGSSessionScreenIsLocked'])

edit:

import Quartz
all_windows = Quartz.CGWindowListCopyWindowInfo(Quartz.kCGWindowListOptionOnScreenOnly, Quartz.kCGNullWindowID)
for x in all_windows:
    if x["kCGWindowOwnerName"] == "loginwindow"
        print("Locked!")

Этот код работает на Python2, но не 3, учитывая, что / usr / bin / python необходимо использовать для импорта Quartz.

1 Ответ

0 голосов
/ 11 января 2019

Установка quartz -
pip install pyobjc-framework-Quartz

Гораздо простой код -

import Quartz
d = Quartz.CGSessionCopyCurrentDictionary()
print('CGSSessionScreenIsLocked' in d.keys())
...