检测 macOS 上的用户活动

2024-01-03

我使用函数“IOPMSchedulePowerEvent”来安排睡眠或唤醒事件,并使用“IORegisterForSystemPower”注册我的守护程序以接收电源状态更改。一切正常!

当系统进入睡眠状态并稍后在预定时间醒来时,我的守护进程会执行一些工作,之后系统应该再次进入睡眠状态。

现在我的问题是:

  1. 我如何检测系统是否被用户唤醒或按预定时间唤醒?

  2. 我如何检测用户当前是否正在使用系统,以便守护进程不必将其置于睡眠模式???

谢谢 诺比克


有一种简单的方法可以检测各种形式的用户交互:使用CGEventSourceCounterForEventType https://developer.apple.com/documentation/coregraphics/1408794-cgeventsourcecounterforeventtype您可以查询自启动以来按下键盘或移动鼠标的次数。通过定期执行此操作并比较计数,您可以检测交互。

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

检测 macOS 上的用户活动 的相关文章

随机推荐

  • 扭曲意外连接丢失

    我使用 Python Twisted 编写了一个 TCP 服务器 用于从客户端发送 接收二进制数据 当客户关闭其应用程序或调用abortConnection方法 我得到connectionLost事件正常 但当客户端意外断开连接时 我没有收
  • Node.js 模块是否需要包装在模块模式中?

    为了确保适当的隔离 我倾向于将我编写的每个 node js 模块包装在函数范围内 function var express require express var jade require jade var moment require m
  • Spring MVC:无法反序列化 START_ARRAY 令牌之外的实例

    我已经为此绞尽脑汁有一段时间了 但仍然没有快乐 我是 Spring 新手 确实需要一些帮助 我正在尝试使用 Spring Boot 从数据库表返回代码列表 当我从浏览器中的 URL 调用 REST 控制器时 示例网址 本地主机 8081 c
  • unity3d如何更改实例化预制件的颜色

    在统一中 我有一个预制件 我想实例化它并将实例化预制件的颜色更改为黑色 预制件的默认颜色为黄色 我的目标是将颜色更改为随机颜色 但现在它只是黑色 稍后我会制作随机颜色 但有一个问题 颜色没有改变 我检查了互联网上的一些解决方案 但没有一个适
  • 如何在 Jekyll 中从 Liquid 块生成文件?

    我正在写一个plugin https gist github com 3469301定义了一个新的 Jekyll 块ditaa 块中的任何内容都应从迪塔标记 http ditaa sourceforge net 到图像文件 并将该图像插入帖
  • VBA VS. VSTO有什么区别,我应该升级吗?

    我是 KISS 原则 保持简单 的忠实粉丝 并且是 excel VBA 的长期用户 然而 我能找到的所有关于 VBA 与 VSTO Visual Studio Tools for Office 的文章似乎都非常复杂 首先 我厌倦了 Exce
  • 在 Python 中使用多个参数进行字符串格式化(例如“%s ... %s”)

    我有一个看起来像这样的字符串 s in s 我想知道如何分离参数 使它们成为两个不同的 s 我的想法来自于 Java s in s unicode self author unicode self publication 但这不起作用 那么
  • 添加图例来指示形状

    需要一些帮助来为图中使用的形状添加图例 如下所述 该图如下 它是一个箱形图 表示平均值的点 表示置信区间的误差线 结果图如下 我如何添加一个图例来告诉red circles表明mean和green error bars表明confidenc
  • 有没有办法按两个字段对 Jekyll 中的列表进行排序?

    有没有办法使用 Jekyll Liquid 按两个字段对列表进行排序 例如 先按年份排序 然后按标题排序 我努力了 assign list site data papers papers sort year sort title 但这使得它
  • 使用 Visual Studio 测试适配器增强单元测试 - 设置工作目录

    我正在尝试使用 boost 单元测试 并使用 Visual Studio 测试适配器集成到 VS 2013 中 我的单元测试测试了一个库 该库需要另一个 DLL 存在于其工作目录中 它是通过在链接器设置下的 附加输入 中指定 lib 来链接
  • Android KitKat chrome://inspect/devices 网络监控,如何查看所有请求数据

    我正在使用 chrome inspect devices 并监控 Android 应用程序的 http 流量 这仅适用于 Android 4 4 KitKat 在这个工具中 set cookie 和 cookie 数据不会显示 是否有其他工
  • 获取AppServiceProvider中的路由参数

    我在应用程序的每条路线中都设置了公司参数 我正在尝试将该公司的变量发送到每个视图以便于访问 在我的 AppServiceProvider php 中 我尝试了两件事 company App make request gt route gt
  • 字符串与十六进制值的用户定义文字

    关于这个问题 https stackoverflow com questions 63197844 vector from long hex value 63213120 63213120 为什么a用户定义的文字 https en cppr
  • ASP MVC 3:如何对选择列表进行客户端验证?

    在阅读了这里的一些问题 答案后 我设法弄清楚如何将选择列表添加到表单并用数据填充它 如下所示 Html DropDownList S new SelectList ViewBag S Id Nme Sel a S 而且效果很好 不过我想补充
  • 在 Linux 上 - 将最大打开文件数设置为无限制。可能的?

    是否可以将打开文件的最大数量设置为某个 无限 值 或者必须是一个数字 我需要将守护程序用户的描述符限制设置为 无限制 我正在尝试确定这是否可能或如何做到 我看到一些邮件列表引用了可以使用的 最大值 例如 myuser Hard nofile
  • 如何读取JSON数据?

    这是json数据格式吗 string json answer Line 1 mark 1 answer Line 3 mark 1 我尝试下面的代码 但它只适用于一个参数 前任 answer Line 1 mark 1 我尝试拆分 json
  • VS Code devcontainer - Dockerfile 中的 containerUser 和 USER 有什么区别?

    来自doc https code visualstudio com docs remote devcontainerjson reference containerUser 覆盖在容器内运行的所有操作的用户 容器 默认为 root 或最后一
  • 使用 SAX 解析器解析大型 XML 文件(跳过一些行/标签)

    我目前正在开发一个使用 SAX 从互联网检索数据的应用程序 我之前用它来解析简单的 XML 文件 例如 Google Weather API 然而 我感兴趣的网站将解析提升到了一个新的水平 页面很大 看起来很乱 我只需要检索一些特定的行 其
  • 使用 cluster.fork() 调试 Node.js 进程

    我有一些代码看起来非常类似于集群文档中的示例 http nodejs org docs v0 6 0 api cluster html http nodejs org docs v0 6 0 api cluster html 以机智 var
  • 检测 macOS 上的用户活动

    我使用函数 IOPMSchedulePowerEvent 来安排睡眠或唤醒事件 并使用 IORegisterForSystemPower 注册我的守护程序以接收电源状态更改 一切正常 当系统进入睡眠状态并稍后在预定时间醒来时 我的守护进程会