2010-01-06 4 views
2

여러 웹 사이트의 브라우저 창에있는 동안 키 입력 및 마우스 위치를 기록하려고하지만 SWING (또는 다른 GUI) 창 외부에서이를 수행하는 방법을 모르겠습니다.Java의 다른 창에서 키 스트로크를 어떻게 기록합니까?

다른 응용 프로그램의 창이 활성화 된 경우 어떻게 키 입력을 기록 할 수 있습니까?

답변

4

필요한 지원은 Java에 의해 노출되지 않습니다. X에서 RECORD 확장자에 액세스하거나 Windows에서 Win32에 액세스하는 경우이 작업을 수행하는 것이 매우 간단합니다.

여기에 두 플랫폼 모두를 지원하는 Python 프로젝트가 있습니다 : pykeylogger.

+0

저는 오픈 소스 키 로거를 보는 것을 생각하지 않았습니다. 고마워,이게 내가 필요한거야. (파이썬 프로그래밍 기술을 연습하게 해줄거야.) – Chad

2

순수 자바에서이 작업을 수행 할 수 있다고 생각하지 않습니다. 가능하다면, (고도의) 플랫폼 고유의 원시 코드 라이브러리의 도움이 필요할 것입니다.

+0

Java로 수행 할 수 없거나 전혀 수행 할 수 없습니까? 나에게 네이티브 라이브러리가 동작을하도록 내버려 두는 것처럼 보입니다.하지만 그 일을하기 위해 선의의 이유가 생기는 데 어려움을 겪고 있습니다. –

+0

Windows 컴퓨터에서 C++로이 작업을 수행 할 수 있습니까? – Chad

2

(Windows 전용) 이론적으로 JNA 또는 JNI를 사용하여 GetAsyncKeyState에 바인딩하면 키 누름을 모니터링 할 수 있습니다.

관련 문제