2012-04-22 4 views
1

Windows OS에서 실행되는 터치 모니터가있는 컴퓨터. 사용자가 텍스트 필드를 터치 한 다음 윈도우 화면 키보드를 표시하고 텍스트 필드가 아닌 경우 온 스크린 키보드를 숨길 때이를 감지하는 Java 코드를 작성해야합니다.자바에서 Windows 응용 프로그램의 텍스트 필드를 감지하십시오.

나는 사용하여 화면 키보드를 표시 할 일을했을 :

Runtime.getRuntime().exec("cmd /c C:\\Windows\\System32\\osk.exe"); 

을하지만 어떻게 내가 (자바로 작성되지 않은 다른 응용 프로그램의) 텍스트 필드를 검색 할 수 있습니다?

답변

0

당신은 그렇게 할 수 없지만 java.awt.Robot을 사용한다면 ... 사용자가 다른 응용 프로그램의 텍스트 필드 주위에 상자를 그려서 좌표를 얻은 다음 프로그램에서 그것을 기억하게하십시오. 또는 항상 같은 위치에 있으면 좌표를 하드 코딩 할 수 있습니다.

좌표를 알았 으면 마우스 입력을들을 수 있으므로 mousePressed 이벤트가 트리거 될 때 텍스트 상자 안에 좌표가 있으면 화면 키보드가 표시되도록 메소드를 시작합니다.

사용자가 privelage를 갖고 있어야하고 앱이 기본 마우스 입력을 읽을 수 있어야하므로이 기능이 작동하지 않을 수 있습니다.

관련 문제