Robot クラスを使用する場合、次の意味は何ですか:
robot.keyRelease(KeyEvent.VK_CONTROL);
以下のコードは、イベントを送信するのに十分ではありませんか?
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
keyPress
キーが押されたというイベントを送信します。 keyRelease
キーが解放されたというイベントを送信します。タイピングをシミュレートする場合は、次のようなことを行うことができます。
public class SuperRobot extends Robot {
public void typeKey(int keyCode) {
keyPress(keyCode);
delay(20);
keyRelease(keyCode);
}
}
public static void main(String[] args) {
try {
SuperRobot r = new SuperRobot();
// Now, let's press Ctrl+A
r.keyPress(KeyEvent.VK_CONTROL);
r.typeKey(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_CONTROL);
} catch (Exception ex) { // Either AWTException or SecurityException
System.out.println("Oh no!");
}
}
Ctrl + Aのようにマスクを使用して何かを入力するには、最初にCtrlを押し、次にAを押して放すシミュレーションを行い、次にCtrlを放します。原則として、ロボットは、ユーザーとしてのあなたが行うことを多かれ少なかれ正確にシミュレートする必要があります。