Oi, uma duvida sobre o robot é possível fazer com que ele aperte uma tecla em uma determinada janela do windows?
exemplo eu abri o jogo paciência e estou jogando ai quando eu presionar a tecla F1 por exemplo era vai disparar a tecla Alt ou outra tecla quais quer?
eu tentei fazer isso e nada aconteceu
[code]package br.com.robot;
import java.awt.AWTException;
import java.awt.GraphicsEnvironment;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
public class RobotListener implements NativeKeyListener {
Robot robot;
public RobotListener(Robot robot) {
this.robot = robot;
}
public void nativeKeyPressed(NativeKeyEvent e) {
System.out.println("Botão apertado: "
+ NativeKeyEvent.getKeyText(e.getKeyCode()));
if (e.getKeyCode() == NativeKeyEvent.VK_F1) {
robot.keyPress(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_ALT);
}
if (e.getKeyCode() == NativeKeyEvent.VK_ESCAPE)
GlobalScreen.unregisterNativeHook();
}
public void nativeKeyReleased(NativeKeyEvent e) {
System.out.println("Botão solto: "
+ NativeKeyEvent.getKeyText(e.getKeyCode()));
}
public void nativeKeyTyped(NativeKeyEvent e) {
System.out.println("Botão segurado: " + e.getKeyText(e.getKeyCode()));
}
public static void main(String[] args) {
Robot robot = null;
try {
robot = new Robot();
GlobalScreen.registerNativeHook();
} catch (NativeHookException ex) {
System.err.println(ex.getMessage());
System.exit(1);
} catch (AWTException e) {
e.printStackTrace();
System.exit(1);
}
GlobalScreen.getInstance().addNativeKeyListener(
new RobotListener(robot));
}
}[/code]