获取有关拥有活动窗口的应用程序的信息

时间:2010-07-14 14:05:14

标签: objective-c cocoa osx-snow-leopard

我确信这很容易,而且我没有找到正确的文档。

我需要获取有关处理活动窗口的应用程序的信息。我需要编写的代码需要拦截一些自定义手势,并向应用程序返回一个依赖于应用程序本身的事件。

2 个答案:

答案 0 :(得分:5)

NSWorkspace类,您可以从中获取包含activeApplication信息的字典。该应用程序通常拥有“密钥”窗口。

修改:对于定位到10.6或更高版本的应用,不推荐使用activeApplication。这是新方法:

NSRunningApplication *activeApplication = nil;
for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications]) {
    if (app.active) {
        activeApplication = app;
        break;
    }
}

答案 1 :(得分:2)

MacOS 10.7不推荐使用方法activeApplication。文档建议改为使用NSRunningApplication