2011-01-05 4 views

답변

3

원하는대로 할 수 있습니다. 이 코드는 Ctr-F 키 스트로크를 확인합니다. 이 코드를 사용하여 응용 프로그램의 모든 항목에서 찾기 대화 상자를 엽니 다. 나는 애플 리케이션이 비록 초점을 가지고 있다고 확신한다. 적어도 시도하려고하는 것 ...

AWTEventListener listener = new AWTEventListener() { 
    @Override 
    public void eventDispatched(AWTEvent event) { 
    try { 
     KeyEvent evt = (KeyEvent)event; 
     if(evt.getID() == KeyEvent.KEY_PRESSED && evt.getModifiers() == KeyEvent.CTRL_MASK && evt.getKeyCode() == KeyEvent.VK_F) { 

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

      Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK); 

EDIT : 당신이 원하는 것을 이해할 것이라고 생각합니다. 기본적으로 응용 프로그램에 포커스가 없을 때. 그렇다면 네이티브 API (JNI)를 사용하여 OS 이벤트에 연결해야하지만 특정 OS로 전환해야합니다.

+0

슬픈. 플랫폼에 독립적 인 방법이 있기를 바란다. ( – Rogach

+0

아래에 altanis가 제공하는 링크를 확인한다. Java에없는 이유에 대한 약간의 논의가있다. 아마도 OSX에는없는 것 같다. 그게 사실인지 거짓인지 알기에 충분한 OSX 프로그래밍을하지 못했습니다 ... – Merky

3

This이 유용 할 수 있습니다. Windows/Linux/Mac에서 작동하는 라이브러리가 있는지 확실하지 않습니다. Windows의 경우 기본 코드를 사용하여 키보드 후크를 만드는 외부 라이브러리가 필요합니다. 나는 다른 OS에서 어떻게하는지 잘 모른다.

관련 문제