如何获取Dock for Mac OS X编程中当前正在运行并可见的所有应用程序的列表? [英] How to get list of all applications currently running and visible in Dock for Mac OS X programming?

查看:41
本文介绍了如何获取Dock for Mac OS X编程中当前正在运行并可见的所有应用程序的列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要知道哪些应用程序正在运行并具有活动窗口.类似于命令+选项卡"热键切换器的功能.

I need to know which applications are running and have an active window. Something similar must be what's in the 'command + tab' hotkey switcher.

当我运行这样的代码时:

When I run some code like this:

NSWorkspace * ws = [NSWorkspace sharedWorkspace];
NSArray * apps = [ws runningApplications];
NSLog (@"%@", apps);

我在日志中得到了这个

"<NSRunningApplication: 0x6080001052b0 (com.apple.loginwindow - 66)>",
"<NSRunningApplication: 0x608000105340 (com.apple.systemuiserver - 285)>",
"<NSRunningApplication: 0x6080001053d0 (com.apple.dock - 284)>",
"<NSRunningApplication: 0x608000105460 (com.apple.finder - 286)>",
"<NSRunningApplication: 0x6080001054f0 (com.apple.iTunesHelper - 339)>",
"<NSRunningApplication: 0x608000105580 (cc.omh.Clyppan - 340)>",
"<NSRunningApplication: 0x608000105610 (ws.agile.1PasswordAgent - 333)>",
"<NSRunningApplication: 0x6080001056a0 (com.irradiatedsoftware.Cinch-Direct - 342)>",
"<NSRunningApplication: 0x608000105730 (com.leapmotion.Leap-Motion - 343)>",
"<NSRunningApplication: 0x6080001057c0 (com.apple.notificationcenterui - 316)>",
"<NSRunningApplication: 0x608000105850 (com.smileonmymac.textexpander - 348)>",
"<NSRunningApplication: 0x6080001058e0 (com.lightheadsw.caffeine - 350)>",
"<NSRunningApplication: 0x608000105970 (2BUA8C4S2C.com.agilebits.onepassword4-helper - 309)>"

它显示了所有正在运行的应用程序.我只希望Dock中正在运行且可见的应用程序.

It's showing all running applications. I only want the applications that are running and visible in the Dock.

推荐答案

[NSWorkspace runningApplications] 返回的数组成员的类型为 NSRunningApplication .您想选择那些 activationPolicy 属性的类型为 NSApplicationActivationPolicyRegular 的对象.

The members of the array returned by [NSWorkspace runningApplications] are of type NSRunningApplication. You want to pick out the ones whose activationPolicy property has type NSApplicationActivationPolicyRegular.

这篇关于如何获取Dock for Mac OS X编程中当前正在运行并可见的所有应用程序的列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆