java 机器人按键不起作用
java robot keypress does not work
所以我在使用这段代码时遇到了一个问题:
代码已更新
int x = 530;
int y = 135;
Robot r = new Robot();
r.mouseMove(x, y);
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
r.keyPress(KeyEvent.VK_T);
r.keyPress(KeyEvent.VK_E);
r.keyPress(KeyEvent.VK_S);
r.keyPress(KeyEvent.VK_T);
程序在 eclipse 中输入 "test",所以我做了一些搜索,发现有类似问题的人,在他们将它编译成 jar 后,它运行良好,这就是我所做的,但是编译后,鼠标可以正常移动,但程序没有输入任何内容。
我不知道你将点击和击键发送到哪里,所以我不能确定问题出在哪里,但我猜测为什么代码没有按预期工作是因为你从未发布鼠标按钮和按键。 Robot.mousePress(int)
仅按下鼠标按钮,它不会释放它,您必须调用 Robot.mouseRelease(int)
(如文档中所述)。这同样适用于击键。此外,InputEvent.BUTTON1_MASK
已弃用,文档建议改用 InputEvent.BUTTON1_DOWN_MASK
。
所以我在使用这段代码时遇到了一个问题:
代码已更新
int x = 530;
int y = 135;
Robot r = new Robot();
r.mouseMove(x, y);
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
r.keyPress(KeyEvent.VK_T);
r.keyPress(KeyEvent.VK_E);
r.keyPress(KeyEvent.VK_S);
r.keyPress(KeyEvent.VK_T);
程序在 eclipse 中输入 "test",所以我做了一些搜索,发现有类似问题的人,在他们将它编译成 jar 后,它运行良好,这就是我所做的,但是编译后,鼠标可以正常移动,但程序没有输入任何内容。
我不知道你将点击和击键发送到哪里,所以我不能确定问题出在哪里,但我猜测为什么代码没有按预期工作是因为你从未发布鼠标按钮和按键。 Robot.mousePress(int)
仅按下鼠标按钮,它不会释放它,您必须调用 Robot.mouseRelease(int)
(如文档中所述)。这同样适用于击键。此外,InputEvent.BUTTON1_MASK
已弃用,文档建议改用 InputEvent.BUTTON1_DOWN_MASK
。