How to get a list of current open windows/process with Java?
Как получить список текущих открытых окон / процессов с помощью Java?
Кто-нибудь знает, как мне получить текущие открытые окна или процесс локального компьютера с помощью Java?
Что я пытаюсь сделать, так это: составить список текущих открытых задач, окон или открытых процессов, как в Windows Taskmanager, но используя мультиплатформенный подход - используя только Java, если это возможно.
Переведено автоматически
Ответ 1
Это другой подход к анализу списка процессов с помощью команды "ps -e":
Если вы используете Windows, то вам следует изменить строку: "Process p = Runtime.getRun ..." и т.д... (3-я строка), на ту, которая выглядит следующим образом:
while (winNT.Process32Next(snapshot, processEntry)) { System.out.println(processEntry.th32ProcessID + "\t" + Native.toString(processEntry.szExeFile)); }
winNT.CloseHandle(snapshot); } }
Ответ 4
The only way I can think of doing it is by invoking a command line application that does the job for you and then screenscraping the output (like Linux's ps and Window's tasklist).
Unfortunately, that'll mean you'll have to write some parsing routines to read the data from both.
Processproc= Runtime.getRuntime().exec ("tasklist.exe"); InputStreamprocOutput= proc.getInputStream (); if (0 == proc.waitFor ()) { // TODO scan the procOutput for your data }