Java Robot在一段时间后无法正常工作
我写了一个程序,可以模拟用键盘写字。 我用java机器人来做这个。 为了不止一次地编写它,我将它放入for循环中 100次就可以了 但当我在最后做了1000次时,机器人就不再写设定的文本了 这是它的代码Java Robot在一段时间后无法正常工作,java,Java,我写了一个程序,可以模拟用键盘写字。 我用java机器人来做这个。 为了不止一次地编写它,我将它放入for循环中 100次就可以了 但当我在最后做了1000次时,机器人就不再写设定的文本了 这是它的代码 package robot; import java.awt.event.KeyEvent; import java.awt.Robot; import java.awt.AWTException; public class keyrobot { private static Robo
package robot;
import java.awt.event.KeyEvent;
import java.awt.Robot;
import java.awt.AWTException;
public class keyrobot {
private static Robot robot;
public static void main(String[] args) throws AWTException {
robot= new Robot();
write();
}
private static void write() throws AWTException {
robot.delay(5000); //time for changing the application
for(int i=0;i<1000;i++){ //1000 x "asdfasdf"
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_S);
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
robot.keyPress(KeyEvent.VK_F);
robot.keyRelease(KeyEvent.VK_F);
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_S);
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
robot.keyPress(KeyEvent.VK_F);
robot.keyRelease(KeyEvent.VK_F);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
}
}
我打赌一定有缓冲区溢出发生。尝试向循环中添加延迟:
Thread.sleep(1);
可能需要测试更高的值
或者查看您的代码:
robot.delay(1);
我解决了你必须使用的问题
robot.delay(10);
在循环中现在输出已更改;但问题仍然存在,这就是为什么我说:“可能必须测试更高的值。”
robot.delay(10);