我观察NSWorkspaceDidDeactivateApplicationNotification通知,即可刚刚失去焦点的应用程序。我最后得到一个NSRunningApplication实例,该实例是从通知对象的userInfo字典键-NSWorkspaceApplicationKey中获得的。

我当时以为可以从通知中的应用程序获取主窗口,但是由于NSRunningApplication似乎非常有限,所以我不确定从哪里可以到达。任何帮助,将不胜感激。

顺便说一句-我使用的是MacRuby,但答案不一定是MacRuby。

谢谢

最佳答案

传统上,苹果公司一直对这种事情束手无策。 NSRunningApplication本身是在10.6中引入的,正如您所说的,它有点受限制。根据您要执行的操作,答案可能在Accessibility framework中,也可能在CGWindow API中。您可以使用NSRunningApplication中的processIdentifier将其与这些API匹配。

关于objective-c - 通过NSRunningApplication实例获取应用程序的主窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1981453/

10-15 10:59