首页 > 解决方案 > 无法调用 WindowUtils.getAllWindows()

问题描述

使用 JNA 我正在尝试运行以下代码。

    private Rectangle getWindowDimensions(String appTitle) {
        for (DesktopWindow desktopWindow : WindowUtils.getAllWindows(true)) {
            if (desktopWindow.getTitle().contains(appTitle.toUpperCase())) {
                return desktopWindow.getLocAndSize();
            }
        }
        return null;
    }

我在 Windows 10、64 位和使用 IntelliJ IDE 上执行此操作。

我对该文件的导入是,

import com.sun.jna.platform.WindowUtils;
import com.sun.jna.platform.DesktopWindow;

WindowUtils.getAllWindows() 是这段代码中唯一无法编译的部分。

我得到的错误是......

Error:(31, 55) java: cannot find symbol
  symbol:   method getAllWindows(boolean)
  location: class com.sun.jna.platform.WindowUtils

标签: javajna

解决方案


解决了:

我还添加了不支持此功能的旧版本 JNA,版本 4.0.1,在检查我列出的依赖项时,删除旧版本,修复了问题!

谢谢@Slaw!你为我指出了正确的方向,以发现我的错误。


推荐阅读