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 次 |
最近记录: |