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

kia*_*uno 2 cocoa objective-c osx-snow-leopard

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

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

Nik*_*uhe 5

有一个NSWorkspace类,你可以从中获得一个字典,其中包含有关的信息activeApplication.该应用程序通常拥有"密钥"窗口.

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

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