Mac OS X - 如何监控窗口更改事件?

fli*_*p79 5 cocoa window nsnotificationcenter

我正在开发一个Cocoa应用程序,它显示了一个打开的窗口列表,并突出显示当前关注的窗口.我的问题是,我找不到系统通知来通知我的应用程序主要(也称为"焦点"或"前景")窗口已更改.我尝试过:

    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(wsNotificationHook:) name:NSWorkspaceDidActivateApplicationNotification object:nil];
Run Code Online (Sandbox Code Playgroud)

但是它监视应用程序的变化:当在同一个应用程序中执行窗口更改时不会被触发(例如,如果我使用exposè在两个Firefox窗口之间传递).是否存在可以监视以跟踪主窗口更改的系统范围事件?

先感谢您!

omz*_*omz 3

您将获得的最接近的可能是辅助功能 API。请参阅此处此处以获取具有(部分)解决方案的类似问题。