看来我不能用机器人类按下每个按钮

时间:2014-04-09 14:02:06

标签: java keyboard keyboard-events awtrobot

首先关闭:我正在使用azerty键盘。 我想按下左上角的按钮,就在“逃生”的正下方。 我相信这是qwerty键盘的'〜'(因为它是'²')

我不知不觉地搜索它的密钥代码然后我发现了这个: java.awt.event.KeyEvent not capable of fully mappin AZERTY keyboard?

运行他的代码我得到了这个:

Pressed : unknown keyCode: 0x0 / ² code = 0

通过在调试时检查keyEvent对象,我得到了这个

extendedKeyCode = 16777394
keyLocation = 1
id = 401

我怎么能解决这个问题? 你认为我可以自己实现keyEvent,构建一个类似于keyEvent的实现吗?

感谢。

1 个答案:

答案 0 :(得分:0)

好吧,我刚刚做了一个循环来按下keyEvent从0到10 000 000并且'²'从未被按下。

package keyCodeTester;

import java.awt.Robot;
import java.awt.event.KeyEvent;

public class KeyCodeTester {
    public static void main(String args[]) throws Exception {
        Robot robot = new Robot();
        robot.delay(5000);

        for(int i=41; i<10000000; i++) {
            try {
                if (i>=112 && i<=123) {
                    throw new IllegalArgumentException("touche fonction");
                }
                robot.keyPress(i);
                robot.delay(100);
                robot.keyPress(KeyEvent.VK_ENTER);
                robot.delay(100);
            } catch (IllegalArgumentException iae) {
                System.out.println("iae pour " + String.valueOf(i));
            }
        }

    }
}

我猜机器人只适用于qwerty。 我将制作一些C代码并从java中调用它。