通过Python3在Mac上检测锁定屏幕

时间:2018-10-11 01:19:39

标签: python python-3.x macos lockscreen

尝试找到一种使用Python3检测屏幕是否在Mac系统上锁定的方法

我尝试了以下操作,它给出了KeyError:

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

编辑:

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

此代码可在Python2上运行,但考虑到需要使用/ usr / bin / python来导入Quartz,因此该代码不适用于3。

1 个答案:

答案 0 :(得分:1)

安装quartz-
pip install pyobjc-framework-Quartz

很多简单的代码-

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