gpt4 book ai didi

c++ - 通过快速用户切换检测 Mac OS X 中事件 session 的 API

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:27 27 4
gpt4 key购买 nike

在启用了快速用户切换的 Mac OS X Snow Leopard 上,是否有 API 可以检测我的应用程序是否在事件用户 session 中运行? IE。当前附加到屏幕和键盘的 session 。

Objective-C 或 C++ 都可以。

最佳答案

我避免使用用户切换通知,而是找到了另外两种可能性:

  1. 使用来自 Core Graphics 的 CGMainDisplayID()。在您的应用程序首次启动时存储主显示 ID,并不断轮询它。当切换到另一个用户时,它将更改为不同的显示 ID。问题是它也可能由于其他原因而改变,例如在多屏设置中更改主显示器。

  2. 同样从 Core Graphics 使用 CGSessionCopyCurrentDictionary(),并从字典中检索 kCGSessionOnConsoleKey bool 值。这表明您的用户 session 是否附加到控制台。

这两个都需要轮询,但这对我来说很好。如果您需要事件驱动,用户切换通知将是更好的选择。

关于c++ - 通过快速用户切换检测 Mac OS X 中事件 session 的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8519051/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com