测试屏幕保护程序是否正在运行或工作区是否已锁定

2024-03-16

在 Mac OS X 上,我知道在 Cocoa 中我可以设置一个观察者来检测未来的屏幕保护程序事件或工作区锁定事件,如下所示:

- (id)init {
   if ((self = [super init])) {
      NSDistributedNotificationCenter* distCenter =
           [NSDistributedNotificationCenter defaultCenter];
      [distCenter addObserver:self
                    selector:@selector(onScreenSaverStarted:)
                        name:@"com.apple.screensaver.didstart"
                      object:nil];
      [distCenter addObserver:self
                    selector:@selector(onScreenSaverStopped:)
                        name:@"com.apple.screensaver.didstop"
                      object:nil];
      [distCenter addObserver:self
                    selector:@selector(onScreenLocked:)
                        name:@"com.apple.screenIsLocked"
                      object:nil];
      [distCenter addObserver:self
                    selector:@selector(onScreenUnlocked:)
                        name:@"com.apple.screenIsUnlocked"
                      object:nil];
   }
   return self;
}

但在添加这些观察者之前,有什么方法可以测试屏幕保护程序是否正在运行,或者工作区是否被锁定?


您可以通过检查屏幕保护程序是否正在运行来检查ScreenSaverEngine进程是否正在运行,通过使用 -

pgrep ScreenSaverEngine

你可以尝试使用 -

while true
do
pgrep ScreenSaverEngine
sleep 1
done

然后打开屏幕保护程序。


用于检查锁屏 -
安装quartz -
pip install pyobjc-framework-Quartz

非常简单的代码 -

import Quartz
d = Quartz.CGSessionCopyCurrentDictionary()
print('CGSSessionScreenIsLocked' in d.keys())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试屏幕保护程序是否正在运行或工作区是否已锁定 的相关文章

  • set-key-partition-list codesign 后仍提示密钥访问

    我正在导入一个PEM使用以下命令包含我的代码签名身份的公钥和私钥的文件 security import PEM FILE k Library Keychains login keychain T usr bin codesign T usr
  • UIAlertController 在 iOS 9 中不工作

    I have added the UIAlertController code showing login and password textfields it works for iOS 8 but in iOS 9 not works
  • iOS:调用 Objective-C 方法的处理开销是多少?

    我正在编写一些实时音频处理代码 该代码将在音频单元的渲染回调中执行 该线程处于系统识别的最高优先级 Apple 指示最大限度地减少此调用中进行的处理量 他们的建议之一是避免 Objective C 方法调用 But why 调用 Objec
  • 如何在 Mac 上使用 Process.Start() 或等效的 Mono 并传入参数

    我正在尝试编写一些 C 代码来启动浏览器Process Start app args 其中 apps 是浏览器的路径 例如 Applications Google Chrome app Contents MacOS Google Chrom
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • NSMutableArray 实例变量内存管理

    我正在做最后一点内存管理整理 但有些东西我不明白 我已经检查了所有文档 Stack Overflow 等 但仍然不明白 我怀疑这与数组有关 我有一个NSMutableArray作为实例变量 我用它来保存从另一个数组中的对象创建的对象 vie
  • TOpenDialog/NSOpenPanel 无法在沙盒 Delphi 应用程序中工作

    Firemonkey 应用程序中的 TOpenDialog 似乎存在问题 该应用程序已针对 Mac Appstore 进行沙箱处理 我使用XE3 但它也存在于XE2中 我其实在这里找到了一份QC报告 但仍然没有解决 http qc emba
  • 将第 3 方库 ZXing 导入 Xcode

    我尝试了多种方法将第 3 方库 ZXing 导入我的 iOS 应用程序 但所有方法都很痛苦 或者根本不起作用 如果有人可以建议我做错了什么 或者提出导入 ZXing 等库的更好方法 我将非常感激 一定比这个容易 这就是我所做的 结果是 My
  • 是否有针对不同屏幕尺寸的单独故事板?

    基本上我已经完成了一个应用程序 我唯一的问题是 ATM 机应用程序在设计时只考虑了 4 英寸显示屏 当在 3 5 英寸模拟器上运行时 应用程序会丢失 0 5 英寸 显然 那么我的问题是 如何在 Xcode 5 中为不同的屏幕尺寸设置不同的故
  • iPhone 应用程序中的异步、同步、线程

    我正处于一个应用程序的设计阶段 该应用程序将利用 REST Web 服务 并且在使用异步 同步和线程方面遇到了困境 这是场景 假设您有三个选项可供深入研究 每个选项都有自己的基于 REST 的资源 我可以使用同步请求延迟加载每个请求 但这会
  • 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

    基本上我正在尝试在 Cocoa Swift 中使用 AVPlayer 播放 m3u8 HLS Live Stream 我对这门语言比较陌生 所以基本上掌握了一些示例代码 http qiita com ono matope items 23d
  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 在 OS X 上创建和使用静态库

    好的 我正在尝试创建一个 Cocoa 库 静态 并使用 但我不断收到错误 我创建了一个超基本的静态库 TSXLib 其中仅包含一个额外的类 import
  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • 在 Mac 操作系统上使用 ffmpeg 录制视频

    我想在 mac OS 上使用 ffmpeg 以任何格式录制实时网络摄像头视频 我尝试了很多 但无法找到用于重新编码视频的命令 所以请任何人都可以告诉我 ffmpeg 命令用于使用 Mac 操作系统的网络摄像头捕获视频 提前致谢 对于 Mac
  • insertNewObjectForEntityForName:

    我使用 Xcode xcdatamodel 文件编辑器设置了一个实体 我创建了一个名为 Person 的实体 添加了一些属性 然后生成了一个 m 文件来表示它 一切都很好 现在 当我去编写一行代码时 例如 Person person Per
  • 如何在 OSX 上安装 LaTeX .sty 文件?

    我设置了一个 LaTeX 项目 tex documents some file tex support todonotes sty where some file tex uses todonotes usepackage colorinl

随机推荐

  • 修改 NumPy 数组的特定行/列

    如何修改 NumPy 数组的特定行或列 例如 我有一个 NumPy 数组 如下所示 P array 1 2 3 4 5 6 如何更改第一行的元素 1 2 3 to 7 8 9 所以这样P会变成 P array 7 8 9 4 5 6 同样
  • Java SimpleDateFormat 解析时区,如 America/Los_Angeles

    我想用Java解析以下字符串并将其转换为日期 DTSTART TZID America Los Angeles 20140423T120000 我试过这个 SimpleDateFormat sdf new SimpleDateFormat
  • 用户登录后调用方法

    我想知道用户登录后是否可以调用函数 这是我要调用的代码 point this gt container gt get process points point gt ProcessPoints 1 this gt container 您可以
  • 如何避免单元测试中的浮点舍入错误?

    我正在尝试为一些对单精度浮点数数组进行操作的简单向量数学函数编写单元测试 这些函数使用 SSE 内在函数 并且在 32 位系统上运行测试时出现误报 至少我认为 测试在 64 位上通过 当操作遍历数组时 我积累了越来越多的舍入误差 这是单元测
  • 将最新的各种用户元数据标签添加到用户行

    我有一个 postgres 数据库 其中包含用户表 用户 ID 名字 姓氏 和用户元数据表 用户 ID 代码 内容 创建日期时间 我通过代码将每个用户的各种信息存储在用户元数据表中 并保留完整的历史记录 例如 一个用户 userid 15
  • 自定义 MapView 抛出 NoSuchMethodException,但它就在那里!

    我正在尝试实现自定义 MapView 在我的 MapActivity 名为 mainmap 中 我有一个扩展 MapView 的内部类 private class Lmapview extends MapView public Lmapvi
  • igraph - 绘制有向网络创建三角形边

    我正在尝试绘制一个有向网络 该网络仅具有细边和箭头 我不断得到看起来是三角形的边缘 我怎样才能得到一条简单的直线和一个箭头 vertice1 lt c a b c vertice2 lt c d e f edge list lt data
  • TCPStream.Read 会阻塞直到收到发送消息中的所有数据吗?

    我编写了一个多线程简单服务器 它使用 clientStream Read message 0 4096 阻塞直到客户端发送消息 然后代码继续处理该消息 到目前为止我只用它来发送短命令 ex login username login 但我担心
  • 将一个范围从一个电子表格复制到另一个电子表格

    我试图将数组的内容从一张工作表 其中数组是通过迭代并推送用户选择的列的选择项来创建的 复制到不同电子表格中的另一张工作表 我遇到了许多关于如何将一个范围从一个电子表格导入到另一个电子表格的问题和答案 但没有一个对我有用 所有问题和答案都返回
  • gnuplot 与 iOS

    这里有人有在 iOS 上使用 gnuplot 的经验吗 我想在 iOS 设备上开发一个科学计算应用程序 并想使用 gnuplot 作为绘图引擎 有什么好的教程可以让我开始学习吗 我有同样的一般问题 快速的谷歌搜索让我找到了以下应用程序 它似
  • Django 多对多交叉过滤

    为了简单起见 假设我只有 2 个模型 书籍 作者 class Author models Model name models CharField max length 100 class Book models Model name mod
  • 如何将两个 div 并排放置并使其占据屏幕的整个宽度?

    我试图将两个 div 放在一起 并让它们都填满屏幕的宽度 理想情况下 我希望它看起来像this https i stack imgur com RVxb2 png 我自己尝试过这样做 但是 div 的宽度最终太大并且显示在两行中 这是我正在
  • 更改 withProgress() 生成的消息框的样式和位置

    The withProgress 函数可以生成一个消息框 指示闪亮的应用程序正在运行 但该消息位于浏览器的右上角 文字尺寸较小 这使得该消息不那么引人注目 所以我想知道有没有什么方法可以改变这个框的样式和位置 以便消息更具有表现力 这是我的
  • 将属性值从属性文件或 xml 文件注入 PreAuthorize(...) java 注释(未解决)

    我在之前的帖子中问过这个问题 Spring Security 的 SpEL 将值从 XML 传递到基于 Java 的 SpEL 配置 https stackoverflow com questions 19625465 spel for s
  • wp_mail wordpress html,样式不适用

    我正在尝试从我的 WordPress 插件发送邮件 但是当我检索它时 它没有样式或图像 我正在这样做
  • 骨干木偶不同的合成视图

    是否可以在 Marionette 中拥有一个复合视图 其中包含不同的项目视图 例如 var myCompositeView Backbone Marionette CompositeView extend template Handleba
  • Spring+WebSocket+STOMP。发送给特定会话的消息(非用户)

    我正在尝试使用我找到的配方在 Spring 框架上设置基本的消息代理here https stackoverflow com questions 34929578 spring websocket sendtosession send me
  • 二进制文件到 SQL 数据库 Apache Camel

    我需要一些关于使用 Camel 将二进制文件从文件夹加载到 MySQL 数据库的方法的指导 基本上我想将 PBX 系统中的语音日志存储到数据库中 包含语音日志的目录将是远程目录 我设计了一个原型 但我不确定这是否真的有效 它有效 但我对设计
  • 我可以使用 Moq 集成在 UnitTests 中访问 Autofac 的全部功能吗

    我的项目 它发生在Orchard http www orchardproject net 虽然我不think这是相关的 使用Autofac https github com autofac Autofac 我正在编写单元测试 其中我想使用以
  • 测试屏幕保护程序是否正在运行或工作区是否已锁定

    在 Mac OS X 上 我知道在 Cocoa 中我可以设置一个观察者来检测未来的屏幕保护程序事件或工作区锁定事件 如下所示 id init if self super init NSDistributedNotificationCente