Как получить координаты внешнего приложения, открытого программой Java - PullRequest
1 голос
/ 08 мая 2019

Используя программу Java, я открываю внешнее приложение (например: блокнот). Как я могу получить координаты / местоположение внешнего приложения для захвата экрана / скриншотов.

Я могу делать снимки экрана всего окна, но не для конкретного приложения.

Я уже пробовал "Робот" для захвата экрана, но не смог захватить определенную область, так как я не могу найти местоположение и размер окна приложения.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Field;

public class AppCheck {

   public static void main(String[] args) {

      System.out.println("***********************");
      try {

          System.out.println("Opening notepad");
            Runtime runTime = Runtime.getRuntime();
            Process process = runTime.exec("notepad");
            try {
                int count=0;
                while(process.isAlive())
                {
                    System.out.println("process name : " + process.getClass().getName());
                    Field f = process.getClass().getDeclaredField("handle");
                    f.setAccessible(true);
                    long handl = f.getLong(process);
                    System.out.println("Process ID : " + handl);
                    Thread.sleep(1000);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            System.out.println("Closing notepad");
            process.destroy();          

      } catch (Exception ex) {
         System.out.println(ex);
      }
      System.out.println("************************************");
   }
}
...