java - 向进程发送 KeyEvents

标签 java process keyevent processbuilder awtrobot

我正在尝试从我的 Java 程序向游戏模拟器发送键盘命令,我知道如何从 processbuilder 设置 process 并运行该进程。

但是,我在从我的Robot 发送进程键盘命令时仍然遇到问题。

InputStream 不会有太大帮助,因为我需要发送 keyEvents,例如按下“y”按钮并让模拟器做出相应响应。

最佳答案

您需要将您的应用程序/控制台窗口作为 Activity 窗口,以便将按键发送到那里。我建议作为第一个测试,运行您的 Java 应用程序,但在开始按键之前添加 10 秒的延迟。然后,手动单击并激活模拟器窗口并等待自动按键开始。

此外,在按键之间添加 500 毫秒的延迟(例如使用 Thread.sleep() ),因为多次按键效果不佳。

另见:Using Java to set the focus to a non Java application in Windows

关于java - 向进程发送 KeyEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15603209/

相关文章:

java - 无法在 Canvas 上绘制 EditText

java - Tomcat 上的 JNI 发生 fatal error

linux - 在 Linux 中执行线程程序

.net - 在 Win Forms NotifyIcon 上禁用 Alt-F4

java - 在运行时清除 jTextField 中键入的字符

java - 为什么我的异常需要放在 try/catch 中?

node.js - 如何在不删除杀毒软件或重新安装 Node 的情况下释放资源\AppData\Local\Temp\shelljs_60d55c70cdc922162f4b?

perl - 如何找到perl脚本(linux进程)挂起的位置

java - Android - 获取键盘按键

java - 在java中如何检查用户是否按下了某个键?