Java 如何通过命令行设置特定位置?

Java 如何通过命令行设置特定位置?,java,cmd,position,Java,Cmd,Position,我可以调用计算器,但我希望指定一个精确的位置,如(200300) 如何重写cmd字符串 我知道java.awt.window可以将窗口或框架设置为特定位置。 有什么方法可以用我的进程填充框架或窗口吗?没有干净的纯java解决方案,因为JDK不提供可以控制非java窗口的API。所以,如果你想使用JNI/JNA 但我可以建议你一个补丁,通常会工作 Windows操作系统允许使用键盘移动窗口。请手动尝试以下操作: 赢+R 键入calc并按enter键 按alt+空格键 按M 按回车键 现在使用箭头移

我可以调用计算器,但我希望指定一个精确的位置,如(200300)

如何重写cmd字符串

我知道
java.awt.window
可以将窗口或框架设置为特定位置。
有什么方法可以用我的进程填充框架或窗口吗?

没有干净的纯java解决方案,因为JDK不提供可以控制非java窗口的API。所以,如果你想使用JNI/JNA

但我可以建议你一个补丁,通常会工作

Windows操作系统允许使用键盘移动窗口。请手动尝试以下操作:

赢+R 键入calc并按enter键 按alt+空格键 按M 按回车键

现在使用箭头移动窗口。按ESC键退出此模式

所有这些操作都可以使用
java.awt.Robot
实现。 所以,您可以运行计算器,然后立即将其窗口移动到您想要的位置

这不是一个明确的解决方案,但非常简单

预期问题:

  • Alt+空格映射到其他自定义应用程序
  • 与calc一起启动的另一个窗口与它重叠
  • 用户将看到窗口是在某个地方创建的,然后快速移动
    所以,一切都取决于这一切对你有多重要。此解决方案可作为练习或演示,但不适用于真正的商业应用程序。

    不,您需要访问本机代码才能实现此目的。您使用的命令是特定于Windows的,您需要研究Windows提供的选项,以确定它允许您执行的操作。Java不允许你改变windows的工作方式。哇,这是个好主意。谢谢你的回复。我可以试试。在我遇到这个机器人类之前,但我没有注意到这个方法。祝你好运。但请记住上述限制。
    String cmd = "start calc.exe";
    Process process = Runtime.getRuntime().exec(codeString);