我怎样才能让机器人键入一个`:`?

Eri*_*sta 8 java awtrobot

我想:用Java Robot 打字.但是,我得到了一个IllegalArgumentException.我的代码是:

robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_COLON);
robot.keyRelease(KeyEvent.VK_COLON);
robot.keyRelease(KeyEvent.VK_SHIFT);
Run Code Online (Sandbox Code Playgroud)

例外是:

java.lang.IllegalArgumentException: Invalid key code.].
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_SEMICOLON);
robot.keyRelease(KeyEvent.VK_SEMICOLON);
robot.keyRelease(KeyEvent.VK_SHIFT);
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

Gur*_*lki 15

尝试使用此代码:

robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_SEMICOLON);
robot.keyRelease(KeyEvent.VK_SEMICOLON);
robot.keyRelease(KeyEvent.VK_SHIFT);
Run Code Online (Sandbox Code Playgroud)

与您输入的键盘一样:当您按shift + ;. 你需要模拟的相同.

尝试运行此代码只是为了尝试哪种方法可以正常使用以上答案:

public class Test {
    public static void main(String[] args) {
        Robot robot;
        try {
            robot = new Robot();
            robot.keyPress(KeyEvent.VK_SHIFT);  
            robot.keyPress(KeyEvent.VK_SEMICOLON);  
            robot.keyRelease(KeyEvent.VK_SEMICOLON);  
            robot.keyRelease(KeyEvent.VK_SHIFT);
        } catch (AWTException e) {
            // TODO Auto-generated catch bloc
            e.printStackTrace();
        }


    }
}
Run Code Online (Sandbox Code Playgroud)