2013-06-24 2 views
0

Я начал разрабатывать свое первое приложение OS X в качестве упражнения для изучения Objective-C и Cocoa. Это приложение панели меню, которое непрерывно записывает (записывает в текстовый файл) имена используемых приложений (те, которые отображаются при создании вкладки cmd +, а не все процессы, показанные Activity Monitor), и время, затраченное на их использование. Что-то вроде:Cocoa: Как отслеживать и записывать активность пользователя?

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

Вы должны использовать CGWindowListCopyWindowInfo, чтобы получить список всех текущих окон. Отфильтруйте не-пользовательские окна, а затем найдите самый верхний. Какое бы приложение ни было, это самое раннее приложение.

Этот ответ поможет вам найти самое верхнее окно:

Front most window using CGWindowListCopyWindowInfo