2016-04-02 1 views
0

Я пишу Java-код для печати текущего процесса, который находится поверх всего процесса.java-код для отображения текущего открытого процесса на ПК

Я пишу это: -

String process; 
Process p = Runtime.getRuntime().exec("tasklist.exe /fo csv /nh"); 
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); 
while ((process = input.readLine()) != null) { 
    System.out.println(process); 
} 
input.close(); 

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

+0

Что вы имеете в виду "поверх всего другого процесса"? Вы просмотрели [Просмотр дерева процессов] (http://stackoverflow.com/questions/11269165/viewing-the-process-tree-tlist-tasklist)? Возможно, вам понадобится/SVC в качестве параметра, а затем проанализировать ответ. – KevinO

+0

no.suppose, если я работаю над powerpoint, тогда он печатает процесс powerpoint и не печатает все остальные процессы. Если я открываю crome, тогда он печатает crome. –

+1

Что означает «в настоящее время видимое»? Видимо кому? В чем смысл «сверху»? Концептуально процессы - это дерево. Есть родители и дети. И что означает «работа на powerpoint»? Вы имеете в виду, что вы запустили powerpoint из Java и хотите найти идентификатор процесса? – KevinO

ответ

2

Вы можете заменить код
while ((process = input.readLine()) != null) { System.out.println(process); }

с этим,

process = input.readLine(); System.out.println(process);

+1

Который, я считаю, всегда будет давать «System Idle Process». – KevinO

+0

Да, он всегда дает то же самое –

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