gpt4 book ai didi

java - 将输入发送到图形进程?

转载 作者:行者123 更新时间:2023-12-02 00:05:23 26 4
gpt4 key购买 nike

我正在尝试创建一个小型 Java 应用程序,它接受我的输入,打开另一个应用程序(Windows 计算器/“calc”)并为该应用程序提供我的输入。

目前,我正在尝试对简单的 Windows 计算器执行此操作,但它似乎不适用于常规方法:

public Feeder(String processID) throws Exception {
rt = Runtime.getRuntime();
proc = rt.exec("calc");

input = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
}

public void sendCommand(int cmd) throws Exception {
input.write(cmd);
input.flush();
input.close();

proc.waitFor();
}

( Partially taken from another source, credit due to author )

但是,与发送到另一个命令行进程的上述代码相反,WinCalc 是图形化的。是否仍然可以向其发送输入,而不必经历逆向工程等各种麻烦?

最佳答案

您可以使用 java.awt.Robot 将文本发送到当前 Activity 窗口,并为您移动和单击鼠标。如果您需要更高级的消息传递,那么您将需要 JNI 或(我的推荐)JNA。

其他选项包括将您的应用程序绑定(bind)到 AutoHotKey 或 AutoIt V3。

就我个人而言,我已经成功地结合 JNA、Robot 和 AutoIt 运行其他应用程序,并使用最适合该情况的应用程序。

关于java - 将输入发送到图形进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13998433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com