【发布时间】:2013-12-04 20:59:18
【问题描述】:
我正在尝试用 Java 制作一个应用程序,您可以在其中远程控制某人的键盘,但我遇到了一个问题。我认为这样的事情是可能的:
//the message is the key input
String[] parts = message.split("-");
String KeyPressed = parts[1];//This is the key that's pressed(for example K)
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_(KeyPressed));
} catch (AWTException e1) {
}
但这不起作用。我知道这个有效,但您必须对键盘上的每个键重复此操作:
//the message is the key input
String[] parts = message.split("-");
String KeyPressed = parts[1];
if(KeyPressed.equals("H")){
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_H);
} catch (AWTException e1) {
}
}
现在我的问题是,用几行代码完成所有键而不是为键盘上的每个键执行上面的代码是什么?
【问题讨论】:
-
首先,您只需在类级别创建一个 Robot 实例。然后你的事件处理程序应该放在一个事件处理循环中。
-
@MarsAtomic 我在这里看不到事件处理程序
-
因为他需要实现它们。我试图在不为他编写代码的情况下提供指导,这将使他有工作代码但无法理解。但是,您的评论确实为Java Tutorial 的介绍提供了一个很好的入口
-
这没有简单的方法,因为 KeyEvent.VK_H 用于“H”和“h”,区别在于 shift 键的状态。我过去使用翻译表作为当时唯一可行的解决方案
标签: java keyboard remote-access awtrobot