我开始开发我的第一个OS X应用程序,作为练习Objective-C和Cocoa的练习。它是一个菜单栏应用程序,它连续记录(在文本文件中写入)所用应用程序的名称(制作cmd + tab时显示的名称,而不是活动监视器显示的所有进程)以及使用它们所花费的时间。类似的东西:
Name: TextEdit
Start: 10.37am
End: 11.02am
Name: Adobe Photoshop
Start: 11.02am
End: 11.12am
Name: TextEdit
Start: 11.12am
End: 11.13am
Name: Mail
Start: 11.13am
End: 11.28am
…
到目前为止,我已经设法创建了一个基本的menulet应用程序,但我已经陷入困境,因为我真的不知道如何获取这些数据。有谁知道从哪里开始?非常感谢你提前!
大卫
答案 0 :(得分:0)
您需要使用CGWindowListCopyWindowInfo来获取所有当前窗口的列表。过滤掉非用户窗口,然后找到最顶层的窗口。无论它是什么应用程序都是最前面的应用程序。
这个答案将帮助您找到最前面的窗口: