2016-04-16 53 views
0

所以我目前正在編寫一個程序來計算我正在按的特定鍵。計數工作正常,但我希望程序完全在後臺運行(沒有打開的窗口或任務欄中的標誌)。Java:如何在後臺記錄擊鍵?

那麼Java中有沒有辦法在後臺完全運行進程?我目前正在使用JFrame進行計數。

+0

基本上,你想要一個鍵盤記錄器..對嗎? –

+0

是的,但計數:))...就像我按標籤或按Ctrl鍵的次數 – Tastro

回答

2

你可以使用JNativeHook這裏是打印每一個鍵,按下時,你可以修改這個您的需要按鍵的數量爲例: -

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) 
    { 

    } 
} 

如果你不知道如何導入JNativeHook庫然後How to install JNativeHook Library?

+0

非常感謝! :) – Tastro

+0

沒有probs @ user2897579 –