sno*_*h09 6 c++ macos objective-c
在启用了快速用户切换的Mac OS X Snow Leopard上,是否有用于检测我的应用程序是否在活动用户会话中运行的API?即会话当前附加到屏幕和键盘.
Objective-C或C++都可以.
我避免使用用户切换通知,而是发现了其他两种可能性:
CGMainDisplayID()从 Core Graphics使用。当您的应用程序首次启动时存储主显示 ID 并继续轮询它。当切换到另一个用户时,它将更改为不同的显示 ID。问题是它也可能因其他原因而改变,例如更改多屏设置中的主显示器。
还可以使用CGSessionCopyCurrentDictionary()Core Graphics 中的内容,并kCGSessionOnConsoleKey从字典中检索布尔值。这表明您的用户会话是否连接到控制台。
这两个都需要轮询,但这对于我的目的来说很好。如果您需要事件驱动,用户切换通知将是更好的选择。
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |