通过 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 上的锁屏的主要内容,如果未能解决你的问题,请参考以下文章