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