2016-04-16 10 views
0

Also schreibe ich gerade ein Programm, das bestimmte Tasten zählt, die ich drücke. Das Zählen funktioniert gut, obwohl ich möchte, dass das Programm vollständig im Hintergrund ausgeführt wird (ohne ein geöffnetes Fenster oder ein Zeichen in der Taskleiste).Java: Wie protokolliert man Tastenanschläge im Hintergrund?

Gibt es eine Möglichkeit in Java, einen Prozess im Hintergrund auszuführen? Ich verwende derzeit eine JFrame für das Zählen.

+0

Grundsätzlich möchten Sie einen Keylogger .. Richtig ?? –

+0

Ja aber zum Zählen:) ... Wie die Anzahl der Male, die ich Tab oder Ctrl drücken – Tastro

Antwort

2

könnten Sie JNativeHook verwenden hier ein Beispiel, das alle Schlüssel und die Anzahl der Tasten gedrückt druckt, können Sie diese an Ihre Bedürfnisse anpassen können: -

import org.jnativehook.GlobalScreen; 
import org.jnativehook.keyboard.NativeKeyEvent; 
import org.jnativehook.keyboard.NativeKeyListener; 

public class Main implements NativeKeyListener 
{ 
    public static void main(String[] args) 
    { 
    try 
    { 
     GlobalScreen.registerNativeHook(); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 

    GlobalScreen.getInstance().addNativeKeyListener(new Main()); 
    } 

    private int count; 
    @Override 
    public void nativeKeyPressed(NativeKeyEvent e) 
    { 
     System.out.println("Pressed " + NativeKeyEvent.getKeyText(e.getKeyCode())); 
     count++; 
     System.out.println(count); 
    } 

    @Override 
    public void nativeKeyReleased(NativeKeyEvent e) 
    { 

    } 

    @Override 
    public void nativeKeyTyped(NativeKeyEvent e) 
    { 

    } 
} 

Wenn Sie nicht wissen, wie die JNativeHook-Bibliothek importieren dann How to install JNativeHook Library?

+0

Vielen Dank Mann! :) – Tastro

+0

keine probs @ user2897579 –