【问题标题】:Get Open Windows in Objective C在 Objective C 中获取打开的窗口
【发布时间】:2010-11-21 07:09:47
【问题描述】:

如何在 Objective C 中获取 Mac OSX 上打开的窗口的名称?基本上我只是想检查一个具有特定名称的窗口(即“Chrome”来检测 Chrome 是否打开)是否打开。

有问题的应用程序在没有打开窗口的情况下永远不会运行(与我的示例中的 Chrome 不同),因此可能不需要检测正在运行的进程

【问题讨论】:

    标签: objective-c macos


    【解决方案1】:

    对于您描述的情况,查看窗口列表不是一个好方法。例如,Chrome 没有名为“Chrome”AFAIK 的窗口——其窗口的名称取决于当前打开的选项卡。如果要检测应用程序,请使用 NSWorkSpace 的launchedApplications 方法。

    要实际检测窗口,请使用Quartz Window Services API

    【讨论】:

    • 抱歉,Chrome 不是一个很好的例子。我要检测的应用程序总是会被命名为一件事,并且如果进程正在运行,它总是会打开一个窗口。我会看看 Quartz Window Services/NSWorkspace。
    • 我的 2 美分:(更新):强烈建议您使用 NSWorkspace 类的 runningApplications 方法和 NSRunningApplication 类在针对 OS X v10.6 及更高版本的应用程序中检索此信息,而不是activeApplication 和launchApplications 方法。
    猜你喜欢
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多