0

我开始开发我的第一个 OS X 应用程序作为学习 Objective-C 和 Cocoa 的练习。它是一个菜单栏应用程序,可以连续记录(写入文本文件)使用的应用程序的名称(在制作 cmd + 选项卡时显示的名称,而不是活动监视器显示的所有进程)以及使用它们所花费的时间。就像是:

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 应用程序,但我已经陷入困境,因为我真的不知道如何获取这些数据。有谁知道从哪里开始?非常感谢您!

大卫

4

1 回答 1

0

您需要使用 CGWindowListCopyWindowInfo 来获取所有当前窗口的列表。过滤掉非用户窗口,然后找到最上面的窗口。无论它来自哪个应用程序,都是最前面的应用程序。

这个答案将帮助您找到最前面的窗口:

最前面的窗口使用 CGWindowListCopyWindowInfo

于 2013-06-24T17:23:58.913 回答