如何以编程方式调整其他应用程序窗口的大小(和位置)?我想用 Java 编写代码,我想调整所有窗口的大小,而不仅仅是那些由 JVM 创建的窗口。我正在使用 Windows XP。如果有更多选项,我想更改这些窗口的其他属性。
评论后的附加信息:
问:你为什么要这样做? 答:Windows 缺少跨多个显示器快速 移动窗口的功能。您是否尝试过 WinSplit Revolution 9.02?它有一些很棒的功能,只需按几下按钮即可移动/定位窗口。您根本不需要抓起鼠标。
最佳答案
在纯 java 中对非您自己的窗口执行任何操作的唯一方法是 java.awt.Robot
类。但它也没有为您的目标提供任何有用的 API,因此您只能做一个屏幕截图,分析结果,然后相应地定位、按下、移动和释放鼠标——因此,就像人类用户一样。
如果您想要更多,则必须针对特定系统。我认为 Windows API 和 X 协议(protocol)(ant 因此 X 客户端库)至少提供了获取有关其他程序窗口的信息的能力,我不知道如何更改它们。 (我想 Mac OS 也有这样的能力。)
这通常意味着至少用 C(或访问此类库的任何其他语言)编写此功能的基础知识,然后使用 JNI 从 Java 访问此功能。您还可以使用 JNI 包装库(如 JNA(Java native 访问))来省去 JNI 步骤。
关于java - 如何以编程方式调整窗口大小和更改窗口位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4951131/