2013-03-11 4 views
1

Используя приведенный ниже код, я открыл окно (скажем, окно установки программного обеспечения), все прошло отлично, здесь. Я хочу проверить погоду, открытое окно или нет.Как обнаружить открытые окна в java

Как определить, открыто или нет окно ?

Фрагмент кода: -

cmdarray = "......"; 
    Runtime runTime = Runtime.getRuntime(); 
    Process responce = runTime.exec(cmdarray); 

Какие окна

Ans: - Установщик в любом месте окна

Наконец я смог найти окно открыто или нет используя решение, предоставленное Hussain

Если я хочу закрыть окно, как я могу закрыть его .....

Я использовал Taskkill/F/IM < < installer_window >> ехе команды в Java (например, runtime.exe ("команда");). убить процесс. Но окно не закрывается. Есть ли способ закрыть это окно.

Спасибо заранее.

@Hussain

Я попытался, как вы сказали, но я получаю ошибку как ОШИБКА: Процесс «proces.exe» с PID 4408 не может быть расторгнуто Причина: Этот процесс может быть прекращен только силой (с опцией/F). вот почему я включил /F, с помощью этого я смог убить процесс, но окно не закрывается.

Просьба предоставить быстрое решение, ожидая ответа ....

Заранее спасибо

+3

Какое окно? – 2013-03-11 09:39:16

+2

как проверить, работает ли процесс или нет? этот вид проверки лучше всего записать в Windows SDK ... – Raptor

+0

@kgopi: см. править –

ответ

1

Это даст вам полный список всех процессов, запущенных в ваших окнах, вы можете перебирать его для вашего желаемого программа будет работать или нет.

public class taskmanager { 

     public static void main(String[] args) throws IOException { 
      String line; 
      Process p = Runtime.getRuntime().exec("tasklist.exe"); 
      BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); 
      while ((line = input.readLine()) != null) { 
       System.out.println(line); //<-- Parse data here. 
      } 
      input.close(); 
       String processToKill = "notepad++.exe" 
       killProcess(processToKill); 
     } 
     public void killProcess(String processName) 
     { 
     Runtime.getRuntime().exec("taskkill /IM " + processName); 
     } 
    } 
+0

Привет Хусейн, найдя существование окна, если я хочу закрыть его, как его усечь. Я попробовал ** taskkill ** команду, но ее не работает, для более подробной информации просмотрите (отредактированное) описание – kgopi

+0

@kgopi: см. Редактирование –

+0

см. Отредактированное описание – kgopi

Смежные вопросы