【问题标题】:Cannot locate Quartz Window Services找不到 Quartz Window 服务
【发布时间】:2012-06-19 13:01:16
【问题描述】:

即使我的应用程序没有启动它们,我也需要找到打开的窗口的坐标,经过一番搜索,我发现了quartz window services。但是,我链接到的参考文档没有提到它的位置,这是我能找到的唯一文档。我查看了其他框架参考文档,但没有一个提及它。

这个问题显然完全是我自己的无知引起的,我真的不想问。但是,我搜索了整个互联网,并且完全没有找到有关quartz windows服务位置的参考。

它在哪里?它是框架的一部分吗?如果是,它属于哪个类?我只知道它包含哪些功能,并且它们看起来正是我需要的!

提前感谢您的帮助。另外,如果您知道我将来如何自己解决这个问题,我也将不胜感激。

注意:我不知道这是否重要,但我打算使用 JNA 从 Java 调用它,而不是从 C 中使用它。

【问题讨论】:

    标签: java macos frameworks


    【解决方案1】:

    是的,这有点不太明显。通过搜索“Quartz Window Services”,我可以找到概述的链接,例如:https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CGWindow_Reference/Reference/Introduction.html

    这表明它在 ApplicationServices 框架中。

    【讨论】:

    • 非常感谢。我不知道为什么我找不到它,但这回答了我的问题。
    【解决方案2】:

    首先,我不能 100% 确定您将如何从 Java 访问 C 方法(我自己从未这样做过),但如果可以进行桥接,您可以使用 Accessibility API为了获得所有正在运行的应用程序的窗口 (see the answer to this related question)。一旦你有了那个窗口列表,你就可以得到每个窗口在屏幕上所在位置的框架(坐标)。

    使用 Accessibility API 的另一件事是,用户必须“选择加入”才能允许它。默认情况下通常不会打开它。

    Here's another question that closely matches yours,但接受的答案仅提供了一种解决方案,可以为您自己的(当前正在运行的)应用程序检索窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多