0
import java.awt.Robot;
import java.awt.event.KeyEvent;

public class Main {
    static boolean check = false;
    static boolean boom = true;

    public static void main(String[] args) throws Exception{
        do{
        if(check == true){
            Robot r = new Robot();
            r.delay(1000);
            r.keyPress(KeyEvent.VK_DECIMAL);
            r.keyRelease(KeyEvent.VK_DECIMAL);
            r.keyPress(KeyEvent.VK_M);
            r.keyRelease(KeyEvent.VK_M);
            r.keyPress(KeyEvent.VK_E);
            r.keyRelease(KeyEvent.VK_E);
            r.keyPress(KeyEvent.VK_N);
            r.keyRelease(KeyEvent.VK_N);
            r.keyPress(KeyEvent.VK_U);
            r.keyRelease(KeyEvent.VK_U);
            r.keyPress(KeyEvent.VK_ENTER);
            r.keyRelease(KeyEvent.VK_ENTER);
        }
        }while(boom == true);
    }

    public void keyPressed(KeyEvent e){
        int keyCode = e.getKeyCode();
        if(keyCode == KeyEvent.VK_F9){
            check = true;
            boom = true;
        }
        if(keyCode == KeyEvent.VK_F11){
            check = false;
            boom = false;
        }
    }
}

これは私のコードです。F9 を押すと .menu の書き込みが開始され、F11 を押すと停止します。ヘルプはありますか?

4

1 に答える 1

3

KeyListener がリッスンする GUI コンポーネントが表示されません。KeyListeners は、レンダリングされた GUI 内のコンポーネントに追加され、リッスンされているコンポーネントにフォーカスがある必要があります。あなたのアプリにはそれがありません。コード内のどこにも KeyListener オブジェクトが表示されません。

キー イベントをリッスンする GUI を作成する場合は、Swing チュートリアルで Java Swing GUI の作成方法を学習してから、KeyListener などの低レベル リスナーの代わりにキー バインディングを使用することを検討してください。

一方、GUI を使用せずに一般的なキー ロガー プログラムを作成する場合は、Java ではなく、オペレーティング システムとの緊密な統合を可能にする他の言語を使用することをお勧めします。

于 2013-08-11T14:40:50.240 に答える