使用变量的 Java 机器人类

标签 java variables awtrobot

我有一个非常简单的问题,或者至少我认为它很简单。目前我正在尝试将机器人类与变量一起使用。我的意思如下(变量“pass”是字符。)

            pass1 = 0;
            pass2 = 0;
            pass3 = 0;
            pass4 = 0;


                try{
                        Robot robot = new Robot(); 
                        robot.delay(2000);

                        robot.mouseMove(1318, 322);
                        robot.keyPress(pass1);
                        robot.keyPress(pass2);
                        robot.keyPress(pass3);
                        robot.keyPress(pass4);
                        } catch (AWTException e) {e.printStackTrace();}

当我运行程序时,我收到此错误(请记住,只有当其中包含“pass1、pass2...等”的代码部分时,我才会收到此错误。):

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Invalid key code
at java.awt.Robot.checkKeycodeArgument(Unknown Source)
at java.awt.Robot.keyPress(Unknown Source)
at Cracker$2.mouseReleased(Cracker.java:117)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

最佳答案

Robot#keyPress需要一个 int,它表示虚拟键代码,如 java.awt.KeyEvent 中所述。

具体来说,键0代表KeyEvent.VK_UNDEFINED,它是“无效的键代码”

不要忘记,在调用keyRelease之前,按键将继续被按下,生成重复的按键事件...

关于使用变量的 Java 机器人类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160704/

相关文章:

java - SSLContext 和 SSLSocketFactory createSocket 线程安全吗?

variables - 如何通过包共享变量

java - Selenium Actions 还是 Java AWT Robot?

java - Robot.createScreenCapture 正在改变颜色

java - 使用 java.awt.Robot 输入字符串

JavaFX - 我是否误解了如何使用 KeyValues?

java - 给定正方形的对角线顶点,我如何找到所有其他两个顶点?任何边都不平行于 x/y 轴

Java压缩和分割库 - 最好是7zip

java - 从内部类访问变量而不将其设为最终变量

scala - 在 Scala 中,我如何显式引用封闭的本地范围?