자바 클라이언트가 백그라운드에서 실행되는 자바 프로그램으로 열려 있는지 알아야합니다. 자바는 동일한 가상 머신에서 실행되지 않는 다른 윈도우를 볼 수 없도록합니다. 나는 자바 프로그램을 만들면 자바 클라이언트를 열어 추적 할 수 있다고 생각한다.하지만이 일을 관리하지는 못했다. 내 다른 옵션은 자바 로봇을 사용하여 화면의 스크린 샷을 찍고 내가 찾는 클라이언트의 픽셀과 일치 할 때까지 픽셀 정보 찾기를 반복합니다.
화면의 자바 클라이언트
클라이언트는 직접 조작해서는 안되며 작성하지 않았습니다. 그래서 제 3 자. 간단 함을 위해, 고객이 빨간색과 녹색 사이의 색상을 전환하는 영역을 갖고 있다고 말하면 빨간색은 문제를 의미하고 녹색은 괜찮음을 의미합니다.
백그라운드에서 실행되는 프로그램은 클라이언트를 트리거 메커니즘으로 사용합니다. 즉, 클라이언트가 빨간색을 표시하는 경우입니다. 내가 뭔가를하지 말아야 할, 그리고 내가 (그래서 나는 단지 클라이언트의 특정 위치에 색상이 레드인지 아닌지 찾아야한다 녹색 일 경우
비교 :.
로봇 :
- 쉬운을에 구현
- 나는 그의 정보를 도용하지 오전 자신감 사용자를 줄 것이다
을 동일한 VM에서 두 프로그램을 시작?.
- 더 프로가
- 난을 반복하지 않고 cleint을 추적 할 수있는 모든 창 픽셀
- 다른 프로그램에 의해 창이 숨겨지지 않습니다.
- 창이 움직일 때 다시 찾기 위해 다시 반복하지 않아도됩니다.
나쁜 :
로봇 :
- 반복이 javaclient가 이동 될 때마다 반복하는 동안
해놔 걸릴 수 있습니다.
- 프로그램이 더 많은 구성을 requiere 및 기타 "일"을 설치합니다
은, 다른 옵션 또는에 효율성에 대한 의견 주시기 바랍니다 (I 쉽고 빠르게 뭔가를 사용하려는) : 같은 VM에서 두 프로그램을 시작
이 두 가지 옵션에 대해 비트 & 조각을주세요.
당신이하고 싶은 것이 명확하지 않습니다. Java 클라이언트가해야 할 일은 무엇입니까? 백그라운드 앱이해야 할 일은 무엇입니까? 서로 어떻게 관련되어 있습니까? –
@JBNizet 좋습니다. 조금 더 도움이 되었기를 바랍니다. – Juan