1

私はロボットクラスを使用してキーをストロークしようとしていますctrl+alt+del
以下はコードです

public class RobotClassDemo{

    public static void main(String[] args) {

         try {
             Robot robot = new Robot();

             robot.keyPress(KeyEvent.VK_CONTROL);
             System.out.println("ctrl pressed");
             robot.keyPress(KeyEvent.VK_ALT);
             System.out.println("alt pressed");
             robot.keyPress(KeyEvent.VK_DELETE);
             System.out.println("delete pressed");

         } catch (AWTException e) {
             e.printStackTrace();
         } 
     }
 } 


しかし、ここで想定しているように、 lock 、 shutdown 、 password の変更などを含む画面に移動すると想定しているように、オプションはありません(ウィンドウ7のように、ctrl + alt + delを押すと発生します)。このプログラムは Windows 7 で使用できます。制限やアクセス権限はありますか? または何が問題ですか?
編集:私のこのコードでさえうまく機能しています

public void alt_tab() {
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_ALT);
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_TAB);
    robot.delay(100);
    robot.keyRelease(KeyEvent.VK_TAB);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.keyRelease(KeyEvent.VK_ALT);
}

しかし、最初の問題が何であるかはわかりません

4

1 に答える 1

0

これが OS や環境によって禁止されていたとしても、まったく驚かないでしょう。ただし、robot.keyReleaseイベントを追加しようとしましたか? 現時点では、鍵を永遠に押し続けているかのようです。これは、OS がこのキーの組み合わせを認識するために使用する適切なキー アップ/ダウン/プレス イベントを起動するには不十分な場合があります。

于 2013-07-03T05:26:27.583 に答える