0

我正在编写一个获取 Apple Remote 信号的应用程序,并且我已经读完遥控器上的硬件输入。现在我必须在遥控器上复制这些输入,例如键盘缓冲区或任何存在的东西。我注意到 java.awt.Robot 中有一个 Java 类,但命令只是发送到 Java 应用程序本身而不是系统范围(!),如果我错了,请纠正我。

但是我需要一个解决方案,让我的程序在系统范围内虚拟地按下键盘,例如在同时启动的程序(如 MS Powerpoint)中支持使用箭头键的翻页。

有什么建议么?

我的机器人“罗伯特”(因为我来自德国)的不工作示例应该在系统范围内而不是在应用程序范围内传递按下的按钮。

switch(line) {
        case LEFT: System.out.println("left");
                   robert.keyPress(37);
                   robert.keyRelease(37);
                   break;
        case RIGHT: System.out.println("right");
                    robert.keyPress(39);
                    robert.keyRelease(39);
                    break;
        case UP: System.out.println("up");
                    robert.keyPress(38);
                    robert.keyRelease(38);
                    break;
        case DOWN: System.out.println("down");
                    robert.keyPress(38);
                    robert.keyRelease(38);
                    break;
        case PLAYPAUSE: System.out.println("play pause");
                    robert.keyPress(516); // dollar sign
                    robert.keyRelease(516);
                    break;
        case MENU: System.out.println("menu");
                    robert.keyPress(515); // euro sign
                    robert.keyRelease(515);
                    break;
    }
4

1 回答 1

0

实际上,Robot 类将能够在“系统范围内”控制您的鼠标和键盘,也就是说,您可以使用它来模拟另一个应用程序的键盘输入。然而,要让这个应用程序接收“击键”,它实际上必须具有焦点(“激活”)。

于 2012-08-14T22:48:58.907 回答