Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mac上获取java中打开的窗口的坐标_Java_Macos_Swing - Fatal编程技术网

在mac上获取java中打开的窗口的坐标

在mac上获取java中打开的窗口的坐标,java,macos,swing,Java,Macos,Swing,我需要能够找到计算机中打开的窗口的坐标,即使它们不是由我的应用程序或其他java应用程序创建的。除了对整个屏幕进行截屏,然后尝试让应用程序跟踪每个窗口的轮廓外,我对任何其他方法都感到不知所措,这看起来非常不高效,可能也不是很有效(如果窗口重叠怎么办) 任何帮助都是非常感谢的:我花了一整天的时间想弄明白 注意:我需要在mac上执行此操作,而不需要将其移植到windows。您需要从操作系统获取信息,Java有多种方法可以实现这一点,但没有一种方法只使用核心Java。我建议尝试允许您直接调用操作系统函

我需要能够找到计算机中打开的窗口的坐标,即使它们不是由我的应用程序或其他java应用程序创建的。除了对整个屏幕进行截屏,然后尝试让应用程序跟踪每个窗口的轮廓外,我对任何其他方法都感到不知所措,这看起来非常不高效,可能也不是很有效(如果窗口重叠怎么办)

任何帮助都是非常感谢的:我花了一整天的时间想弄明白


注意:我需要在mac上执行此操作,而不需要将其移植到windows。

您需要从操作系统获取信息,Java有多种方法可以实现这一点,但没有一种方法只使用核心Java。我建议尝试允许您直接调用操作系统函数,而不必为使用而大惊小怪。

我查看了它,发现了Carbon中的quartz windows服务,它看起来可以做到这一点,但我遇到了两个问题。看起来我想要使用的函数(CGWindowListCopyWindowInfo)返回的数组不是基本类型的数组,我不知道如何处理它。其次,我一开始就不知道如何调用它,因为我不知道它声明在哪个头中,或者它位于哪里。显然这是因为我对JNA完全不熟练,但如果你不介意的话,我真的非常感谢你的帮助。@ThomasPaltz-我不认为有人会给你编一个例子。。。如果这是你要问的。自己试一试,如果你有具体问题,可以问一个新问题。