1

我正在尝试用 Java 创建一个能够从 Windows 中不相关的窗口获取位置信息的程序。我需要所有可见窗口中的矩形,我需要知道哪些被最小化以及它们的 Z 顺序。我在这里阅读了很多问题,从 JNA 学到了一些东西,但我仍然有一些问题。(我从这里收集了我知道的大部分信息,即使我无法编译代码:Windows:如何获取所有可见窗口的列表?

  1. 该程序显示了很多窗口,即使它们不是用户窗口。我不知道 Windows 以这种方式工作,那么如何从所有其他“垃圾”窗口中过滤出用户窗口?

  2. 来自@mdma 的链接代码无法编译,因为 Main.RECT 必须实现来自 jna.Structure (getFieldOrder()) 的抽象方法。这是与不同版本的 JNA 相关的问题吗?我在做一些明显错误的事情吗?

为了能够创建这个程序,我正在努力学习 JNA,但我从未处理过 WinAPI,而且它相当令人困惑。感谢您的耐心等待。

编辑:这是我无法编译的一小段代码。我正在使用最新的 JNA (3.5.1)。

import com.sun.jna.Structure;

public class Main {
    public static void main(String[] args) {
        public static class RECT extends Structure {
            public int left,top,right,bottom;
        }
    }
}
4

0 回答 0