gpt4 book ai didi

java - 如何以编程方式将关键事件发送到 Java 应用程序中的任何窗口/进程?

转载 作者:行者123 更新时间:2023-11-29 03:04:49 25 4
gpt4 key购买 nike

使用 Java 应用程序,如何以编程方式将键事件(字母、数字、标点符号、箭头等)发送/触发到同一台机器上的窗口/进程?

最佳答案

假设您知道窗口的位置,您可以使用 java.awt.Robot

这会在屏幕上覆盖 10,50 的任何窗口中键入 a。

Robot r = new Robot();
r.mouseMove(10, 50);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);
r.keyPress(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_A);

如果您有一个窗口,您知道在 10,50 处覆盖另一个窗口,在 10,400 处覆盖另一个窗口,在 400, 400 处覆盖另一个窗口,那么这将在不同的窗口中键入 xy 和 z。在我的测试中,我还需要一些延迟才能移动以使其更可靠。

Robot r = new Robot();
r.mouseMove(10, 50);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_X);
r.keyRelease(KeyEvent.VK_X);
Thread.sleep(500);
r.mouseMove(10, 400);
Thread.sleep(500);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_Y);
r.keyRelease(KeyEvent.VK_Y);
Thread.sleep(500);
r.mouseMove(400, 400);
Thread.sleep(500);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);
r.keyPress(KeyEvent.VK_Z);
r.keyRelease(KeyEvent.VK_Z);

关于java - 如何以编程方式将关键事件发送到 Java 应用程序中的任何窗口/进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32641269/

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