通过 Python3 检测 Mac 上的锁屏

Posted

技术标签:

【中文标题】通过 Python3 检测 Mac 上的锁屏【英文标题】:Detecting lock screen on Mac through Python3 【发布时间】:2018-10-11 01:19:39 【问题描述】:

试图找到一种方法来检测屏幕是否在 Mac 系统上被锁定,使用 Python3

我尝试了以下方法,但它给出了 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】:

安装quartz -pip install pyobjc-framework-Quartz

很多简单的代码 -

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

【讨论】:

以上是关于通过 Python3 检测 Mac 上的锁屏的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS X: 如何快速锁屏

黑帽子技能|爆破Android的锁屏密码

黑帽子技能|爆破Android的锁屏密码

锁屏上的小部件

iPhone最好看的锁屏壁纸App!

如何在android中制作我们自己的锁屏而不是默认锁屏[重复]