我观察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/